)]}'
{
  "commit": "74a0b5762713a26496db72eac34fbbed46f20fce",
  "tree": "4a14df7c07ebc16283454f33713519a0e10b5c43",
  "parents": [
    "d5a7430ddcdb598261d70f7eb1bf450b5be52085"
  ],
  "author": {
    "name": "Christoph Hellwig",
    "email": "hch@lst.de",
    "time": "Tue Oct 16 01:24:07 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue Oct 16 09:42:50 2007 -0700"
  },
  "message": "x86: optimize page faults like all other achitectures and kill notifier cruft\n\nx86(-64) are the last architectures still using the page fault notifier\ncruft for the kprobes page fault hook.  This patch converts them to the\nproper direct calls, and removes the now unused pagefault notifier bits\naswell as the cruft in kprobes.c that was related to this mess.\n\nI know Andi didn\u0027t really like this, but all other architecture maintainers\nagreed the direct calls are much better and besides the obvious cruft\nremoval a common way of dealing with kprobes across architectures is\nimportant aswell.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix sparc64]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.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": "e7d0d3c2ef6473faeb460e7e77e20e579eedeb23",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/kprobes_32.c",
      "new_id": "06b86e5617f62c739bdc4b448985d46462078273",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/kprobes_32.c"
    },
    {
      "type": "modify",
      "old_id": "62e28e52d784c8da494ebb6d2e045f5d8a9cb2b6",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/kprobes_64.c",
      "new_id": "7c16506d681fc56f985c65f2c4b22dea7a5019ea",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/kprobes_64.c"
    },
    {
      "type": "modify",
      "old_id": "fcb38e7f35434113896abc3caad887c9aad665d1",
      "old_mode": 33188,
      "old_path": "arch/x86/mm/fault_32.c",
      "new_id": "be72c2a5b03b4a1e4fea65b3431faf21d1491d3a",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/fault_32.c"
    },
    {
      "type": "modify",
      "old_id": "54816adb8e933c8c09e41afcf3008331afb5adc6",
      "old_mode": 33188,
      "old_path": "arch/x86/mm/fault_64.c",
      "new_id": "5e0e54906c488fe5b7266d013c072672a606ba29",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/fault_64.c"
    },
    {
      "type": "modify",
      "old_id": "7f54e2b15d136ab5e2ee2234ef49fd0700ab2473",
      "old_mode": 33188,
      "old_path": "include/asm-avr32/kdebug.h",
      "new_id": "fd7e99046b2f366be239078692c957381c223bc6",
      "new_mode": 33188,
      "new_path": "include/asm-avr32/kdebug.h"
    },
    {
      "type": "modify",
      "old_id": "190a6377c80969f7b5ef5313457b42fec539a99d",
      "old_mode": 33188,
      "old_path": "include/asm-avr32/kprobes.h",
      "new_id": "0f3e636e6e4dda8d36c89b50f697777f59bdf88d",
      "new_mode": 33188,
      "new_path": "include/asm-avr32/kprobes.h"
    },
    {
      "type": "modify",
      "old_id": "320cd8e754ea44a9841e874251f2e7113721e84b",
      "old_mode": 33188,
      "old_path": "include/asm-ia64/kdebug.h",
      "new_id": "35e49407d06c6bdada5952abca95a9a45786c23d",
      "new_mode": 33188,
      "new_path": "include/asm-ia64/kdebug.h"
    },
    {
      "type": "modify",
      "old_id": "067d9dea68f9d627f41ba634e7169185bafcf5e4",
      "old_mode": 33188,
      "old_path": "include/asm-ia64/kprobes.h",
      "new_id": "6c79edf24d73adc1572b885417394bcb6c02ae13",
      "new_mode": 33188,
      "new_path": "include/asm-ia64/kprobes.h"
    },
    {
      "type": "modify",
      "old_id": "295f0162c60827a750664b9ece653d134f1a277f",
      "old_mode": 33188,
      "old_path": "include/asm-powerpc/kdebug.h",
      "new_id": "ae6d206728afc476d015b15ee2a9f5e2588f467e",
      "new_mode": 33188,
      "new_path": "include/asm-powerpc/kdebug.h"
    },
    {
      "type": "modify",
      "old_id": "8b08b447d6f31e2e300e39b3813dd090b7c2233f",
      "old_mode": 33188,
      "old_path": "include/asm-powerpc/kprobes.h",
      "new_id": "c16973d5de6287dc4c14d1572065d747c719416e",
      "new_mode": 33188,
      "new_path": "include/asm-powerpc/kprobes.h"
    },
    {
      "type": "modify",
      "old_id": "04418af08f8511a6eea7c1d0ad09e04b49979e5e",
      "old_mode": 33188,
      "old_path": "include/asm-s390/kdebug.h",
      "new_id": "40db27cd6e608df9c54285c6e1b52c6d572277f4",
      "new_mode": 33188,
      "new_path": "include/asm-s390/kdebug.h"
    },
    {
      "type": "modify",
      "old_id": "340ba10446ea46d2aeca453903532bc537627610",
      "old_mode": 33188,
      "old_path": "include/asm-s390/kprobes.h",
      "new_id": "8bc67cc9ffd2972a64f9da56564892e54d48d7c5",
      "new_mode": 33188,
      "new_path": "include/asm-s390/kprobes.h"
    },
    {
      "type": "modify",
      "old_id": "382cfc7deb732b233170b3e1ec69edb6d14abb17",
      "old_mode": 33188,
      "old_path": "include/asm-sh/kdebug.h",
      "new_id": "49cd69051a8896392fa1c9335c1770c802d1aa15",
      "new_mode": 33188,
      "new_path": "include/asm-sh/kdebug.h"
    },
    {
      "type": "modify",
      "old_id": "9974c7b0aebc18563568cd50a5b5c2c457e5b908",
      "old_mode": 33188,
      "old_path": "include/asm-sparc64/kdebug.h",
      "new_id": "f905b773235a2f977db3383559629d4fbd3e4fda",
      "new_mode": 33188,
      "new_path": "include/asm-sparc64/kdebug.h"
    },
    {
      "type": "modify",
      "old_id": "7f6774dca5f49f778c434c055ab7355e3711a4c4",
      "old_mode": 33188,
      "old_path": "include/asm-sparc64/kprobes.h",
      "new_id": "a04145b77f9635e8a7a30504bef7f1b2cfdcc1e1",
      "new_mode": 33188,
      "new_path": "include/asm-sparc64/kprobes.h"
    },
    {
      "type": "modify",
      "old_id": "a185b5f73e7ff466322cbaa8c8b9743925cce11d",
      "old_mode": 33188,
      "old_path": "include/asm-x86/kdebug_32.h",
      "new_id": "181d437eef4bd059e320155d1a39dab15d15c649",
      "new_mode": 33188,
      "new_path": "include/asm-x86/kdebug_32.h"
    },
    {
      "type": "modify",
      "old_id": "d7e2bcf49e4f0ee5ab826b8a2108c2f03f0d0b43",
      "old_mode": 33188,
      "old_path": "include/asm-x86/kdebug_64.h",
      "new_id": "df413e05375e7f6b927c6128c38442d8c3474c56",
      "new_mode": 33188,
      "new_path": "include/asm-x86/kdebug_64.h"
    },
    {
      "type": "modify",
      "old_id": "06f7303c30ca15d111061cfcace36ec043b9362d",
      "old_mode": 33188,
      "old_path": "include/asm-x86/kprobes_32.h",
      "new_id": "f2489d07ce88cdef0dec6d5d5d605a0d84a3c4f0",
      "new_mode": 33188,
      "new_path": "include/asm-x86/kprobes_32.h"
    },
    {
      "type": "modify",
      "old_id": "7db825403e013129655fab261035b1391944c888",
      "old_mode": 33188,
      "old_path": "include/asm-x86/kprobes_64.h",
      "new_id": "3f495e5308b13499f4d7122e2bb90510bc293417",
      "new_mode": 33188,
      "new_path": "include/asm-x86/kprobes_64.h"
    },
    {
      "type": "modify",
      "old_id": "4b8a4493c541873a946e9d62161459fa4f94c35c",
      "old_mode": 33188,
      "old_path": "kernel/kprobes.c",
      "new_id": "f9798ff7899f4a610823fd641fe5e2dde0e746f7",
      "new_mode": 33188,
      "new_path": "kernel/kprobes.c"
    }
  ]
}
