)]}'
{
  "commit": "16dd07bc6404c8da0bdfeb7a5cde4e4a63991c00",
  "tree": "de8401aeebfe1bbdaecaff3b81d92196c50c85d7",
  "parents": [
    "3ec704e6660aa58505110a50102e57cdb9daa044"
  ],
  "author": {
    "name": "Jeff Dike",
    "email": "jdike@addtoit.com",
    "time": "Sun May 06 14:51:48 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Mon May 07 12:13:04 2007 -0700"
  },
  "message": "uml: more page fault path trimming\n\nMore trimming of the page fault path.\n\nPermissions are passed around in a single int rather than one bit per\nint.  The permission values are copied from libc so that they can be\npassed to mmap and mprotect without any further conversion.\n\nThe register sets used by do_syscall_stub and copy_context_skas0 are\ninitialized once, at boot time, rather than once per call.\n\nwait_stub_done checks whether it is getting the signals it expects by\ncomparing the wait status to a mask containing bits for the signals of\ninterest rather than comparing individually to the signal numbers.  It\nalso has one check for a wait failure instead of two.  The caller is\nexpected to do the initial continue of the stub.  This gets rid of an\nargument and some logic.  The fname argument is gone, as that can be\nhad from a stack trace.\n\nuser_signal() is collapsed into userspace() as it is basically one or\ntwo lines of code afterwards.\n\nThe physical memory remapping stuff is gone, as it is unused.\n\nflush_tlb_page is inlined.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\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": "e11bdcd8afc2de5fe5d69a11bee10bcf9d601f20",
      "old_mode": 33188,
      "old_path": "arch/um/include/os.h",
      "new_id": "688d181b5f8ae602fb34509cbd876fd343aa273a",
      "new_mode": 33188,
      "new_path": "arch/um/include/os.h"
    },
    {
      "type": "modify",
      "old_id": "8efc1e0f1b841ac9a8d1e2aaec2f00c40e637548",
      "old_mode": 33188,
      "old_path": "arch/um/include/tlb.h",
      "new_id": "bcd1a4afb842af26ee54c1dd873af4e75d05db36",
      "new_mode": 33188,
      "new_path": "arch/um/include/tlb.h"
    },
    {
      "type": "modify",
      "old_id": "df1ad3ba130cd308f7760481466bc552b3fca694",
      "old_mode": 33188,
      "old_path": "arch/um/kernel/physmem.c",
      "new_id": "3ba6e4c841da66454b4e50625fb4ee65f5d0af8f",
      "new_mode": 33188,
      "new_path": "arch/um/kernel/physmem.c"
    },
    {
      "type": "modify",
      "old_id": "c43901aa93688eb9ba89fffe3ebca1e5ef89f5cb",
      "old_mode": 33188,
      "old_path": "arch/um/kernel/skas/tlb.c",
      "new_id": "b3d722ddde31506480c95cedb776ca8dffc7821f",
      "new_mode": 33188,
      "new_path": "arch/um/kernel/skas/tlb.c"
    },
    {
      "type": "modify",
      "old_id": "4a39d50d2d62e8f9be7dc05fd2733f1496e14018",
      "old_mode": 33188,
      "old_path": "arch/um/kernel/tlb.c",
      "new_id": "8a8d52851443bf33cc7e82ffb40f65b6ddf8dc68",
      "new_mode": 33188,
      "new_path": "arch/um/kernel/tlb.c"
    },
    {
      "type": "modify",
      "old_id": "af0790719b77908e49bb4749a72991212a66241b",
      "old_mode": 33188,
      "old_path": "arch/um/os-Linux/skas/mem.c",
      "new_id": "8e490fff3d476a5c54fc49adc17e94b327d6f53e",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/skas/mem.c"
    },
    {
      "type": "modify",
      "old_id": "1f39f2bf7ce9af0b01a5755ca82fc83d55902512",
      "old_mode": 33188,
      "old_path": "arch/um/os-Linux/skas/process.c",
      "new_id": "5c088a55396ce3a0b5fbe97f40499cdd9362c7d6",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/skas/process.c"
    },
    {
      "type": "modify",
      "old_id": "5110eff51b90f968dfe31740183177943d38fe7c",
      "old_mode": 33188,
      "old_path": "arch/um/os-Linux/skas/trap.c",
      "new_id": "3b600c2e63b85ed81ba89b6bd990f664dc97bb37",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/skas/trap.c"
    },
    {
      "type": "modify",
      "old_id": "ee42c27abd3a1cf8ea5273a40f58fb9a40386b2f",
      "old_mode": 33188,
      "old_path": "arch/um/sys-i386/user-offsets.c",
      "new_id": "29118cf5ff25cdb40476661ff22b184e79d07f7c",
      "new_mode": 33188,
      "new_path": "arch/um/sys-i386/user-offsets.c"
    },
    {
      "type": "modify",
      "old_id": "7bb532567c476511ba34a774f84ec7d0855e04e6",
      "old_mode": 33188,
      "old_path": "arch/um/sys-x86_64/user-offsets.c",
      "new_id": "0d5fd764c21fa13dd2c3d7eb323edaac387103e9",
      "new_mode": 33188,
      "new_path": "arch/um/sys-x86_64/user-offsets.c"
    },
    {
      "type": "modify",
      "old_id": "4296d3135aa996e5f3eeeaf1267338644acdc2ad",
      "old_mode": 33188,
      "old_path": "include/asm-um/page.h",
      "new_id": "8e310d81e5b4d1c194338def163c57bce4326c6d",
      "new_mode": 33188,
      "new_path": "include/asm-um/page.h"
    },
    {
      "type": "modify",
      "old_id": "522aa30f7eaa62d12d6dcec037053eee350846a0",
      "old_mode": 33188,
      "old_path": "include/asm-um/tlbflush.h",
      "new_id": "e78c28c1f350e4bf045feca53c6c6d5fc1aff6b7",
      "new_mode": 33188,
      "new_path": "include/asm-um/tlbflush.h"
    }
  ]
}
