)]}'
{
  "commit": "161b6ae0e067e421b20bb35caf66bdb405c929ac",
  "tree": "ef8d7eb7d8b9acdfb6c6df40df771c6978d03132",
  "parents": [
    "f8b7fc6b514f34a51875dd48dff70d4d17a54f38"
  ],
  "author": {
    "name": "Marcin Slusarz",
    "email": "marcin.slusarz@gmail.com",
    "time": "Sat May 28 13:23:42 2011 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Mon Jun 20 14:38:43 2011 +0200"
  },
  "message": "debugobjects: Fix boot crash when kmemleak and debugobjects enabled\n\nOrder of initialization look like this:\n...\ndebugobjects\nkmemleak\n...(lots of other subsystems)...\nworkqueues (through early initcall)\n...\n\ndebugobjects use schedule_work for batch freeing of its data and kmemleak\nheavily use debugobjects, so when it comes to freeing and workqueues were\nnot initialized yet, kernel crashes:\n\nBUG: unable to handle kernel NULL pointer dereference at           (null)\nIP: [\u003cffffffff810854d1\u003e] __queue_work+0x29/0x41a\n [\u003cffffffff81085910\u003e] queue_work_on+0x16/0x1d\n [\u003cffffffff81085abc\u003e] queue_work+0x29/0x55\n [\u003cffffffff81085afb\u003e] schedule_work+0x13/0x15\n [\u003cffffffff81242de1\u003e] free_object+0x90/0x95\n [\u003cffffffff81242f6d\u003e] debug_check_no_obj_freed+0x187/0x1d3\n [\u003cffffffff814b6504\u003e] ? _raw_spin_unlock_irqrestore+0x30/0x4d\n [\u003cffffffff8110bd14\u003e] ? free_object_rcu+0x68/0x6d\n [\u003cffffffff8110890c\u003e] kmem_cache_free+0x64/0x12c\n [\u003cffffffff8110bd14\u003e] free_object_rcu+0x68/0x6d\n [\u003cffffffff810b58bc\u003e] __rcu_process_callbacks+0x1b6/0x2d9\n...\n\nbecause system_wq is NULL.\n\nFix it by checking if workqueues susbystem was initialized before using.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/20110528112342.GA3068@joi.lan\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d86e45086f54c06bd39f7e989593f4b3ccfa086",
      "old_mode": 33188,
      "old_path": "lib/debugobjects.c",
      "new_id": "a78b7c6e042c9f64fb76bcb252236c456bf8a6a0",
      "new_mode": 33188,
      "new_path": "lib/debugobjects.c"
    }
  ]
}
