)]}'
{
  "commit": "4357bd9453b81e0a41db1dec16e06d74256b7560",
  "tree": "4b23d512d6cbe26ac2b4a0dfaff7e415bd1dab7c",
  "parents": [
    "3fabc55f34b72720e8a10aa442bd3415a211edb3"
  ],
  "author": {
    "name": "Rusty Russell",
    "email": "rusty@rustcorp.com.au",
    "time": "Tue Mar 11 09:35:57 2008 -0500"
  },
  "committer": {
    "name": "Rusty Russell",
    "email": "rusty@rustcorp.com.au",
    "time": "Tue Mar 11 09:35:58 2008 +1100"
  },
  "message": "lguest: Revert 1ce70c4fac3c3954bd48c035f448793867592bc0, fix real problem.\n\nAhmed managed to crash the Host in release_pgd(), which cannot be a Guest\nbug, and indeed it wasn\u0027t.\n\nThe bug was that handing a 0 as the address of the toplevel page table\nbeing manipulated can cause the lookup code in find_pgdir() to return\nan uninitialized cache entry (we shadow up to 4 top level page tables\nfor each Guest).\n\nCommit 37cc8d7f963ba2deec29c9b68716944516a3244f introduced this\nbehaviour in the Guest, uncovering the bug.\n\nThe patch which he submitted (which removed the /4 from the index\ncalculation) simply ensured that these high-indexed entries hit the\nearly exit path of guest_set_pmd().  But you get lots of segfaults in\nguest userspace as the PMDs aren\u0027t being updated.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9c27c104d83cbe9b623639564da116e8b32637b1",
      "old_mode": 33188,
      "old_path": "arch/x86/lguest/boot.c",
      "new_id": "a104c532ff706cb9845140421371fc208a90605b",
      "new_mode": 33188,
      "new_path": "arch/x86/lguest/boot.c"
    },
    {
      "type": "modify",
      "old_id": "275f23c2deb49ff302e836abfb4eb14e26395a06",
      "old_mode": 33188,
      "old_path": "drivers/lguest/page_tables.c",
      "new_id": "a7f64a9d67e009437b30e5007a208c25863be392",
      "new_mode": 33188,
      "new_path": "drivers/lguest/page_tables.c"
    }
  ]
}
