)]}'
{
  "commit": "bd50cfa89153a67429935a15e577a5eb5f10dd1b",
  "tree": "0eb282956b1298bb8cf33a6bd7d996b091b6d0b1",
  "parents": [
    "55922c9d1b84b89cb946c777fddccb3247e7df2c"
  ],
  "author": {
    "name": "Steven Rostedt",
    "email": "rostedt@goodmis.org",
    "time": "Tue Jun 07 07:18:45 2011 -0400"
  },
  "committer": {
    "name": "Pekka Enberg",
    "email": "penberg@kernel.org",
    "time": "Tue Jun 07 21:38:07 2011 +0300"
  },
  "message": "slob/lockdep: Fix gfp flags passed to lockdep\n\nDoing a ktest.pl randconfig, I stumbled across the following bug\non boot up:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/autotest/nobackup/linux-test.git/kernel/lockdep.c:2649 lockdep_trace_alloc+0xed/0x100()\nHardware name:\nModules linked in:\nPid: 0, comm: swapper Not tainted 3.0.0-rc1-test-00054-g1d68b67 #1\nCall Trace:\n [\u003cffffffff810626ad\u003e] warn_slowpath_common+0xad/0xf0\n [\u003cffffffff8106270a\u003e] warn_slowpath_null+0x1a/0x20\n [\u003cffffffff810b537d\u003e] lockdep_trace_alloc+0xed/0x100\n [\u003cffffffff81182fb0\u003e] __kmalloc_node+0x30/0x2f0\n [\u003cffffffff81153eda\u003e] pcpu_mem_alloc+0x13a/0x180\n [\u003cffffffff82be022c\u003e] percpu_init_late+0x48/0xc2\n [\u003cffffffff82bd630c\u003e] ? mem_init+0xd8/0xe3\n [\u003cffffffff82bbcc73\u003e] start_kernel+0x1c2/0x449\n [\u003cffffffff82bbc35c\u003e] x86_64_start_reservations+0x163/0x167\n [\u003cffffffff82bbc493\u003e] x86_64_start_kernel+0x133/0x142^M\n---[ end trace a7919e7f17c0a725 ]---\n\nThen I ran a ktest.pl config_bisect and it came up with this config\nas the problem:\n\n  CONFIG_SLOB\n\nLooking at what is different between SLOB and SLAB and SLUB, I found\nthat the gfp flags are masked against gfp_allowed_mask in\nSLAB and SLUB, but not SLOB.\n\nOn boot up, interrupts are disabled and lockdep will warn if some flags\nare set in gfp and interrupts are disabled. But these flags are masked\noff with the gfp_allowed_mask during boot. Because SLOB does not\nmask the flags against gfp_allowed_mask it triggers the warn on.\n\nAdding this mask fixes the bug. I also found that kmem_cache_alloc_node()\nwas missing both the mask and the lockdep check, and that was added too.\n\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "46e0aee33a235068bcaf6144dc299ed0ff248991",
      "old_mode": 33188,
      "old_path": "mm/slob.c",
      "new_id": "0ae881831ae27deb86aaf8332dcfa94c28ca01ea",
      "new_mode": 33188,
      "new_path": "mm/slob.c"
    }
  ]
}
