)]}'
{
  "commit": "ddc2e812d592457747c4367fb73edcaa8e1e49ff",
  "tree": "7dc9066c1e43d14f7c495847a9f0b24287806fb2",
  "parents": [
    "8d3c138b77f195ca0eee6fb639ae73f5ea9edb6b"
  ],
  "author": {
    "name": "Pekka Enberg",
    "email": "penberg@cs.helsinki.fi",
    "time": "Fri Jun 23 02:03:40 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Fri Jun 23 07:42:51 2006 -0700"
  },
  "message": "[PATCH] slab: verify pointers before free\n\nPassing an invalid pointer to kfree() and kmem_cache_free() is likely to\ncause bad memory corruption or even take down the whole system because the\nbad pointer is likely reused immediately due to the per-CPU caches.  Until\nnow, we don\u0027t do any verification for this if CONFIG_DEBUG_SLAB is\ndisabled.\n\nAs suggested by Linus, add PageSlab check to page_to_cache() and\npage_to_slab() to verify pointers passed to kfree().  Also, move the\nstronger check from cache_free_debugcheck() to kmem_cache_free() to ensure\nthe passed pointer actually belongs to the cache we\u0027re about to free the\nobject.\n\nFor page_to_cache() and page_to_slab(), the assertions should have\nvirtually no extra cost (two instructions, no data cache pressure) and for\nkmem_cache_free() the overhead should be minimal.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Linus Torvalds \u003ctorvalds@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2046da2aa46e41b4189b8b1deba6618d97f88e86",
      "old_mode": 33188,
      "old_path": "mm/slab.c",
      "new_id": "e3260db04b9e5ddc578cac32b9f192658b315052",
      "new_mode": 33188,
      "new_path": "mm/slab.c"
    }
  ]
}
