)]}'
{
  "commit": "6c514ca4c6b5e71434bbac1781054acbd527db8e",
  "tree": "55924ae7ba0f472beea1afb19dddd1061c8c0cc0",
  "parents": [
    "083a972d64bbebb80bbfd05dcf86719b2757cab6"
  ],
  "author": {
    "name": "Luis R. Rodriguez",
    "email": "mcgrof@kernel.org",
    "time": "Mon Jul 11 09:44:34 2016 -1000"
  },
  "committer": {
    "name": "Luis R. Rodriguez",
    "email": "mcgrof@kernel.org",
    "time": "Wed Aug 03 14:23:21 2016 -0700"
  },
  "message": "kprobes: port blacklist kprobes to linker table\n\nkprobe makes use of two sections, the one dealing with the actual\nkprobes was recently ported using the standard section range API.\nThe blacklist functionality of kprobes is still using a custom\nsection and declaring its custom section using the linker script\nas follows:\n\ntype  Linux-section custom section name  begin                    end\ntable .init.data    _kprobe_blacklist    __start_kprobe_blacklist __stop_kprobe_blacklist\n\nThis ports the _kprobe_blacklist custom section to the standard\nLinux linker table API allowing us remove all the custom blacklist\nkprobe section declarations from the linker script.\n\nThis has been tested by trying to register a kprobe on a blacklisted\nsymbol (these are declared with NOKPROBE_SYMBOL()), and confirms that\nthis fails to work as expected. This was tested with:\n\n # insmod samples/kprobes/kprobe_example.ko symbol\u003d\"get_kprobe\"\n\nThis fails to load as expected with:\n\ninsmod: ERROR: could not insert module samples/kprobes/kprobe_example.ko: Invalid parameters\n\nv3: this patch was introduced in this series\n\nAcked-by: Masami Hiramatsu \u003cmhiramat@kernel.org\u003e\nSigned-off-by: Luis R. Rodriguez \u003cmcgrof@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2bdbfc512b94ea413f2271fc43495e7033a27189",
      "old_mode": 33188,
      "old_path": "include/asm-generic/kprobes.h",
      "new_id": "e520a5356dc1f53c79a49459f463059646ac1019",
      "new_mode": 33188,
      "new_path": "include/asm-generic/kprobes.h"
    },
    {
      "type": "modify",
      "old_id": "f2444d82d02a3ab4724cc477c6b5126e44caae26",
      "old_mode": 33188,
      "old_path": "include/asm-generic/vmlinux.lds.h",
      "new_id": "47ef04de9958dde6ac3a59230f18c7b2496477cc",
      "new_mode": 33188,
      "new_path": "include/asm-generic/vmlinux.lds.h"
    },
    {
      "type": "modify",
      "old_id": "7e0605a9583815220c13ca18e37ef36fbf782672",
      "old_mode": 33188,
      "old_path": "include/linux/kprobes.h",
      "new_id": "c4c71cde4a3c53a08f2fdc342683e9c613dd3923",
      "new_mode": 33188,
      "new_path": "include/linux/kprobes.h"
    },
    {
      "type": "modify",
      "old_id": "3876056826228c66af1af3cdcf084238e555e5af",
      "old_mode": 33188,
      "old_path": "kernel/kprobes.c",
      "new_id": "4801aa3b4adf492c784b01c7b0b4d609952028b1",
      "new_mode": 33188,
      "new_path": "kernel/kprobes.c"
    }
  ]
}
