)]}'
{
  "commit": "461ae488ecb125b140d7ea29ceeedbcce9327003",
  "tree": "165b09655495312068acfc7c0bc91df409c9c2ff",
  "parents": [
    "185efc0f9a1f2d6ad6d4782c5d9e529f3290567f"
  ],
  "author": {
    "name": "David Vrabel",
    "email": "david.vrabel@citrix.com",
    "time": "Wed Sep 14 16:22:02 2011 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Sep 14 18:09:38 2011 -0700"
  },
  "message": "mm: sync vmalloc address space page tables in alloc_vm_area()\n\nXen backend drivers (e.g., blkback and netback) would sometimes fail to\nmap grant pages into the vmalloc address space allocated with\nalloc_vm_area().  The GNTTABOP_map_grant_ref would fail because Xen could\nnot find the page (in the L2 table) containing the PTEs it needed to\nupdate.\n\n(XEN) mm.c:3846:d0 Could not find L1 PTE for address fbb42000\n\nnetback and blkback were making the hypercall from a kernel thread where\ntask-\u003eactive_mm !\u003d \u0026init_mm and alloc_vm_area() was only updating the page\ntables for init_mm.  The usual method of deferring the update to the page\ntables of other processes (i.e., after taking a fault) doesn\u0027t work as a\nfault cannot occur during the hypercall.\n\nThis would work on some systems depending on what else was using vmalloc.\n\nFix this by reverting ef691947d8a3 (\"vmalloc: remove vmalloc_sync_all()\nfrom alloc_vm_area()\") and add a comment to explain why it\u0027s needed.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@citrix.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Ian Campbell \u003cIan.Campbell@citrix.com\u003e\nCc: Keir Fraser \u003ckeir.xen@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[3.0.x]\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": "7ef0903058eeb110246b350aa02154257a3202b6",
      "old_mode": 33188,
      "old_path": "mm/vmalloc.c",
      "new_id": "5016f19e1661637373059dcc05124e883533fa87",
      "new_mode": 33188,
      "new_path": "mm/vmalloc.c"
    }
  ]
}
