)]}'
{
  "commit": "b9049e234401e1fad8459d69a952b174d76c399d",
  "tree": "619adc6533f33379baf25253ff56603b272453c8",
  "parents": [
    "7b78d335ac15b10bbcb0397c635d7f0d569b0270"
  ],
  "author": {
    "name": "Yasunori Goto",
    "email": "y-goto@jp.fujitsu.com",
    "time": "Sun Oct 21 16:41:37 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Mon Oct 22 08:13:17 2007 -0700"
  },
  "message": "memory hotplug: make kmem_cache_node for SLUB on memory online avoid panic\n\nFix a panic due to access NULL pointer of kmem_cache_node at discard_slab()\nafter memory online.\n\nWhen memory online is called, kmem_cache_nodes are created for all SLUBs\nfor new node whose memory are available.\n\nslab_mem_going_online_callback() is called to make kmem_cache_node() in\ncallback of memory online event.  If it (or other callbacks) fails, then\nslab_mem_offline_callback() is called for rollback.\n\nIn memory offline, slab_mem_going_offline_callback() is called to shrink\nall slub cache, then slab_mem_offline_callback() is called later.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: locking fix]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ec376e482abb5f791a9c26f8eca63f0be3a20e04",
      "old_mode": 33188,
      "old_path": "include/linux/memory.h",
      "new_id": "33f0ff0cf63483cc776d4878d1ec24f1ab45e437",
      "new_mode": 33188,
      "new_path": "include/linux/memory.h"
    },
    {
      "type": "modify",
      "old_id": "e29a42988c78ca17d9594c2cb9fdb3cb87c257d0",
      "old_mode": 33188,
      "old_path": "mm/slub.c",
      "new_id": "aac1dd3c657d1de350c5e7615a31d0c8021abb55",
      "new_mode": 33188,
      "new_path": "mm/slub.c"
    }
  ]
}
