)]}'
{
  "commit": "8ce08464d2c749610a52c4d6c7c11080a7eaaef1",
  "tree": "43e49b80ee51a2ca0c95ade6df2831e95c7073c6",
  "parents": [
    "cda5e61a8e0b11826780b8e5a4155683f0557c8b"
  ],
  "author": {
    "name": "Stephen Rothwell",
    "email": "sfr@canb.auug.org.au",
    "time": "Thu Nov 02 22:07:28 2006 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Fri Nov 03 12:27:59 2006 -0800"
  },
  "message": "[PATCH] Fix sys_move_pages when a NULL node list is passed\n\nsys_move_pages() uses vmalloc() to allocate an array of structures that is\nfills with information passed from user mode and then passes to\ndo_stat_pages() (in the case the node list is NULL).  do_stat_pages()\ndepends on a marker in the node field of the structure to decide how large\nthe array is and this marker is correctly inserted into the last element of\nthe array.  However, vmalloc() doesn\u0027t zero the memory it allocates and if\nthe user passes NULL for the node list, then the node fields are not filled\nin (except for the end marker).  If the memory the vmalloc() returned\nhappend to have a word with the marker value in it in just the right place,\ndo_pages_stat will fail to fill the status field of part of the array and\nwe will return (random) kernel data to user mode.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: \u003cstable@kernel.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": "ba2453f9483dfe4b03b3df1c089607da36ebb60c",
      "old_mode": 33188,
      "old_path": "mm/migrate.c",
      "new_id": "b4979d423d2be5b7885f4cd7e24f45bdf7aa27ca",
      "new_mode": 33188,
      "new_path": "mm/migrate.c"
    }
  ]
}
