)]}'
{
  "log": [
    {
      "commit": "b67bfe0d42cac56c512dd5da4b1b347a23f4b70a",
      "tree": "3d465aea12b97683f26ffa38eba8744469de9997",
      "parents": [
        "1e142b29e210b5dfb2deeb6ce2210b60af16d2a6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Feb 27 17:06:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:24 2013 -0800"
      },
      "message": "hlist: drop the node parameter from iterators\n\nI\u0027m not sure why, but the hlist for each entry iterators were conceived\n\n        list_for_each_entry(pos, head, member)\n\nThe hlist ones were greedy and wanted an extra parameter:\n\n        hlist_for_each_entry(tpos, pos, head, member)\n\nWhy did they need an extra pos parameter? I\u0027m not quite sure. Not only\nthey don\u0027t really need it, it also prevents the iterator from looking\nexactly like the list iterator, which is unfortunate.\n\nBesides the semantic patch, there was some manual work required:\n\n - Fix up the actual hlist iterators in linux/list.h\n - Fix up the declaration of other iterators based on the hlist ones.\n - A very small amount of places were using the \u0027node\u0027 parameter, this\n was modified to use \u0027obj-\u003emember\u0027 instead.\n - Coccinelle didn\u0027t handle the hlist_for_each_entry_safe iterator\n properly, so those had to be fixed up manually.\n\nThe semantic patch which is mostly the work of Peter Senna Tschudin is here:\n\n@@\niterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;\n\ntype T;\nexpression a,c,d,e;\nidentifier b;\nstatement S;\n@@\n\n-T b;\n    \u003c+... when !\u003d b\n(\nhlist_for_each_entry(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue(a,\n- b,\nc) S\n|\nhlist_for_each_entry_from(a,\n- b,\nc) S\n|\nhlist_for_each_entry_rcu(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_rcu_bh(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue_rcu_bh(a,\n- b,\nc) S\n|\nfor_each_busy_worker(a, c,\n- b,\nd) S\n|\nax25_uid_for_each(a,\n- b,\nc) S\n|\nax25_for_each(a,\n- b,\nc) S\n|\ninet_bind_bucket_for_each(a,\n- b,\nc) S\n|\nsctp_for_each_hentry(a,\n- b,\nc) S\n|\nsk_for_each(a,\n- b,\nc) S\n|\nsk_for_each_rcu(a,\n- b,\nc) S\n|\nsk_for_each_from\n-(a, b)\n+(a)\nS\n+ sk_for_each_from(a) S\n|\nsk_for_each_safe(a,\n- b,\nc, d) S\n|\nsk_for_each_bound(a,\n- b,\nc) S\n|\nhlist_for_each_entry_safe(a,\n- b,\nc, d, e) S\n|\nhlist_for_each_entry_continue_rcu(a,\n- b,\nc) S\n|\nnr_neigh_for_each(a,\n- b,\nc) S\n|\nnr_neigh_for_each_safe(a,\n- b,\nc, d) S\n|\nnr_node_for_each(a,\n- b,\nc) S\n|\nnr_node_for_each_safe(a,\n- b,\nc, d) S\n|\n- for_each_gfn_sp(a, c, d, b) S\n+ for_each_gfn_sp(a, c, d) S\n|\n- for_each_gfn_indirect_valid_sp(a, c, d, b) S\n+ for_each_gfn_indirect_valid_sp(a, c, d) S\n|\nfor_each_host(a,\n- b,\nc) S\n|\nfor_each_host_safe(a,\n- b,\nc, d) S\n|\nfor_each_mesh_entry(a,\n- b,\nc, d) S\n)\n    ...+\u003e\n\n[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]\n[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]\n[akpm@linux-foundation.org: checkpatch fixes]\n[akpm@linux-foundation.org: fix warnings]\n[akpm@linux-foudnation.org: redo intrusive kvm changes]\nTested-by: Peter Senna Tschudin \u003cpeter.senna@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eaec8212e35aef6606a4e8b40aa9ad9ba87672a",
      "tree": "aa0ae10e129d3642b5470bc430f0b174dc08a381",
      "parents": [
        "1a13c0b181f218bf56a1a6b8edbaf2876b22314b",
        "23663c873154f01220ef679558e1ca110c4c4ca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 21:58:52 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 21:58:52 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue [delayed_]work_pending() cleanups from Tejun Heo:\n \"This is part of on-going cleanups to remove / minimize usages of\n  workqueue interfaces which are deprecated and/or misleading.\n\n  This round drops a number of usages of [delayed_]work_pending(), which\n  are dangerous as they lack any form of synchronization and thus often\n  lead to buggy / unnecessary code.  There are a couple legitimate use\n  cases in kernel.  Hopefully, they can be converted and\n  [delayed_]work_pending() can be removed completely.  Even if not,\n  removing most of misuses should make it more difficult to find\n  examples of misuses and thus slow down growth of them.\n\n  These changes are independent from other workqueue changes.\"\n\n* \u0027for-3.9-cleanups\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  wimax/i2400m: fix i2400m-\u003ewake_tx_skb handling\n  kprobes: fix wait_for_kprobe_optimizer()\n  ipw2x00: simplify scan_event handling\n  video/exynos: don\u0027t use [delayed_]work_pending()\n  tty/max3100: don\u0027t use [delayed_]work_pending()\n  x86/mce: don\u0027t use [delayed_]work_pending()\n  rfkill: don\u0027t use [delayed_]work_pending()\n  wl1251: don\u0027t use [delayed_]work_pending()\n  thinkpad_acpi: don\u0027t use [delayed_]work_pending()\n  mwifiex: don\u0027t use [delayed_]work_pending()\n  sja1000: don\u0027t use [delayed_]work_pending()\n"
    },
    {
      "commit": "ad72b3bea744b4db01c89af0f86f3e8920d354df",
      "tree": "8482593d6330783150e88ff7181a1484d3156265",
      "parents": [
        "7c99e0bf86fdc1dee238eb6e213b980f887b68f1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 21 17:57:00 2012 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Feb 09 11:32:42 2013 -0800"
      },
      "message": "kprobes: fix wait_for_kprobe_optimizer()\n\nwait_for_kprobe_optimizer() seems largely broken.  It uses\noptimizer_comp which is never re-initialized, so\nwait_for_kprobe_optimizer() will never wait for anything once\nkprobe_optimizer() finishes all pending jobs for the first time.\n\nAlso, aside from completion, delayed_work_pending() is %false once\nkprobe_optimizer() starts execution and wait_for_kprobe_optimizer()\nwon\u0027t wait for it.\n\nReimplement it so that it flushes optimizing_work until\n[un]optimizing_lists are empty.  Note that this also makes\noptimizing_work execute immediately if someone\u0027s waiting for it, which\nis the nicer behavior.\n\nOnly compile tested.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7dbfe349d12eabb7783b117e0c115f6f3d9ef9e",
      "tree": "8b567abaef12e5bb82171eea70e7f02816958ae9",
      "parents": [
        "06aeaaeabf69da4a3e86df532425640f51b01cef"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Sep 28 17:15:20 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 21 13:22:36 2013 -0500"
      },
      "message": "kprobes/x86: Move ftrace-based kprobe code into kprobes-ftrace.c\n\nSplit ftrace-based kprobes code from kprobes, and introduce\nCONFIG_(HAVE_)KPROBES_ON_FTRACE Kconfig flags.\nFor the cleanup reason, this also moves kprobe_ftrace check\ninto skip_singlestep.\n\nLink: http://lkml.kernel.org/r/20120928081520.3560.25624.stgit@ltc138.sdl.hitachi.co.jp\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c6aaf4d0bb86e2154ea31a33804cec300611255f",
      "tree": "34f973a7ee081daa773b8d4cea9cffaf28bf018a",
      "parents": [
        "47d5a5f88b9d25d6464c9b60c28f391e84e3ed65"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Wed Sep 05 23:31:25 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 13 22:52:11 2012 -0400"
      },
      "message": "kprobes/x86: Fix to support jprobes on ftrace-based kprobe\n\nFix kprobes/x86 to support jprobes on ftrace-based kprobes.\nBecause of -mfentry support of ftrace, ftrace is now put\non the beginning of function where jprobes are put.\n\nOriginally ftrace-based kprobes doesn\u0027t support jprobe\nbecause it will change regs-\u003eip and ftrace doesn\u0027t support\nchanging IP and ftrace itself doesn\u0027t conflict jprobe.\nHowever, ftrace -mfentry support moves mcount call on the\ntop of functions where jprobes are put. This means that\njprobe always conflicts with ftrace-based kprobe and fails.\n\nThis patch allows ftrace-based kprobes to support jprobes\nby allowing to modify regs-\u003eip and kprobes breakpoint\nhandler also allows to skip singlestepping because there\nis a ftrace call (not an original instruction).\n\nLink: http://lkml.kernel.org/r/20120905143125.10329.90836.stgit@localhost.localdomain\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e52538965119319447c0800c534da73142c27be2",
      "tree": "c7d380720da19d6c5ba996947ddda360e538cc9c",
      "parents": [
        "ae6aa16fdc163afe6b04b6c073ad4ddd4663c03b"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Jun 05 19:28:38 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:59 2012 -0400"
      },
      "message": "kprobes/x86: ftrace based optimization for x86\n\nAdd function tracer based kprobe optimization support\nhandlers on x86. This allows kprobes to use function\ntracer for probing on mcount call.\n\nLink: http://lkml.kernel.org/r/20120605102838.27845.26317.stgit@localhost.localdomain\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\n\n[ Updated to new port of ftrace save regs functions ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ae6aa16fdc163afe6b04b6c073ad4ddd4663c03b",
      "tree": "0a6055f56f80561c4a92df5ea50628644db73e7e",
      "parents": [
        "4dc936769e8a6382a4cc12375e8a4daa2b829fda"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Jun 05 19:28:32 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:58 2012 -0400"
      },
      "message": "kprobes: introduce ftrace based optimization\n\nIntroduce function trace based kprobes optimization.\n\nWith using ftrace optimization, kprobes on the mcount calling\naddress, use ftrace\u0027s mcount call instead of breakpoint.\nFurthermore, this optimization works with preemptive kernel\nnot like as current jump-based optimization. Of cource,\nthis feature works only if the probe is on mcount call.\n\nOnly if kprobe.break_handler is set, that probe is not\noptimized with ftrace (nor put on ftrace). The reason why this\nlimitation comes is that this break_handler may be used only\nfrom jprobes which changes ip address (for fetching the function\narguments), but function tracer ignores modified ip address.\n\nChanges in v2:\n - Fix ftrace_ops registering right after setting its filter.\n - Unregister ftrace_ops if there is no kprobe using.\n - Remove notrace dependency from __kprobes macro.\n\nLink: http://lkml.kernel.org/r/20120605102832.27845.63461.stgit@localhost.localdomain\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "25764288d8dc4792f0f487baf043ccfee5d8c2ba",
      "tree": "edf03ef2b8f12aee328f4cfadc6eebecdb174061",
      "parents": [
        "f7fa6ef0ded995aad68650a877198f70e44b7621"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Jun 05 19:28:26 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:57 2012 -0400"
      },
      "message": "kprobes: Move locks into appropriate functions\n\nBreak a big critical region into fine-grained pieces at\nregistering kprobe path. This helps us to solve circular\nlocking dependency when introducing ftrace-based kprobes.\n\nLink: http://lkml.kernel.org/r/20120605102826.27845.81689.stgit@localhost.localdomain\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f7fa6ef0ded995aad68650a877198f70e44b7621",
      "tree": "c4f211caf1b11d437cc078df8a0917ad205cb3cf",
      "parents": [
        "72ef3794c5cd5f5f0e6355c24a529224c449cd14"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Jun 05 19:28:20 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:56 2012 -0400"
      },
      "message": "kprobes: cleanup to separate probe-able check\n\nSeparate probe-able address checking code from\nregister_kprobe().\n\nLink: http://lkml.kernel.org/r/20120605102820.27845.90133.stgit@localhost.localdomain\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "72ef3794c5cd5f5f0e6355c24a529224c449cd14",
      "tree": "3c8c4bb28009aa938c9e24b33914d11852ec4712",
      "parents": [
        "647664eaf4033501739ac1f42dd52ce8c9266ccc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Jun 05 19:28:14 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jul 31 10:29:55 2012 -0400"
      },
      "message": "kprobes: Inverse taking of module_mutex with kprobe_mutex\n\nCurrently module_mutex is taken before kprobe_mutex, but this\ncan cause issues when we have kprobes register ftrace, as the ftrace\nmutex is taken before enabling a tracepoint, which currently takes\nthe module mutex.\n\nIf module_mutex is taken before kprobe_mutex, then we can not\nhave kprobes use the ftrace infrastructure.\n\nThere seems to be no reason that the kprobe_mutex can\u0027t be taken\nbefore the module_mutex. Running lockdep shows that it is safe\namong the kernels I\u0027ve run.\n\nLink: http://lkml.kernel.org/r/20120605102814.27845.21047.stgit@localhost.localdomain\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f986a499ef6f317d906e6f6f281be966e1237a10",
      "tree": "88ceafe9a214907bd25e8a8ffd8990fd5bd2b40e",
      "parents": [
        "c22ab332902333f83766017478c1ef6607ace681"
      ],
      "author": {
        "name": "Prashanth Nageshappa",
        "email": "prashanth@linux.vnet.ibm.com",
        "time": "Mon Mar 05 14:59:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:42 2012 -0800"
      },
      "message": "kprobes: return proper error code from register_kprobe()\n\nregister_kprobe() aborts if the address of the new request falls in a\nprohibited area (such as ftrace pouch, __kprobes annotated functions,\nnon-kernel text addresses, jump label text).  We however don\u0027t return the\nright error on this abort, resulting in a silent failure - incorrect\nadding/reporting of kprobes (\u0027perf probe do_fork+18\u0027 or \u0027perf probe\nmcount\u0027 for instance).\n\nIn V2 we are incorporating Masami Hiramatsu\u0027s  feedback.\n\nThis patch fixes it by returning -EINVAL upon failure.\n\nWhile we are here, rename the label used for exit to be more appropriate.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Prashanth K Nageshappa \u003cprashanth@linux.vnet.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55ca6140e9bb307efc97a9301a4f501de02a6fd6",
      "tree": "f0cc42df52d35a0c7d3bd2a074219eaf4a84e6a7",
      "parents": [
        "cbcb8346054073d000ecac324763372d6abd44ac"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Fri Feb 03 15:37:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 03 16:16:41 2012 -0800"
      },
      "message": "kprobes: fix a memory leak in function pre_handler_kretprobe()\n\nIn function pre_handler_kretprobe(), the allocated kretprobe_instance\nobject will get leaked if the entry_handler callback returns non-zero.\nThis may cause all the preallocated kretprobe_instance objects exhausted.\n\nThis issue can be reproduced by changing\nsamples/kprobes/kretprobe_example.c to probe \"mutex_unlock\".  And the fix\nis straightforward: just put the allocated kretprobe_instance object back\nonto the free_instances list.\n\n[akpm@linux-foundation.org: use raw_spin_lock/unlock]\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nAcked-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d496aab567e7e52b3e974c9192a5de6e77dce32c",
      "tree": "aa323c702bbf24567e4b7a244a135346f6aaeb5b",
      "parents": [
        "2a4e64b8f6bcbf23ddd375b78342051ae8862284"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Fri Jan 20 14:34:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:38:48 2012 -0800"
      },
      "message": "kprobes: initialize before using a hlist\n\nCommit ef53d9c5e (\"kprobes: improve kretprobe scalability with hashed\nlocking\") introduced a bug where we can potentially leak\nkretprobe_instances since we initialize a hlist head after having used\nit.\n\nInitialize the hlist head before using it.\n\nReported by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Srinivasa D S \u003csrinivasa@in.ibm.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efeb156e7275c5b6c6e0f96aceb3c6abf98fc392",
      "tree": "651970d08c18d8934bcdcc7f01d3c9876fc2ef6a",
      "parents": [
        "a2ef990ab5a6705a356d146dd773a3b359787497"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Jan 12 17:17:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "kprobes: silence DEBUG_STRICT_USER_COPY_CHECKS\u003dy warning\n\nEnabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning:\n\n  In file included from arch/x86/include/asm/uaccess.h:573,\n                   from kernel/kprobes.c:55:\n  In function \u0027copy_from_user\u0027,\n      inlined from \u0027write_enabled_file_bool\u0027 at\n      kernel/kprobes.c:2191:\n  arch/x86/include/asm/uaccess_64.h:65:\n  warning: call to \u0027copy_from_user_overflow\u0027 declared with attribute warning: copy_from_user() buffer size is not provably correct\n\npresumably due to buf_size being signed causing GCC to fail to see that\nbuf_size can\u0027t become negative.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9984de1a5a8a96275fcab818f7419af5a3c86e71",
      "tree": "1935d411752707a1621c5caf64f75dfe105beb3a",
      "parents": [
        "7c77509c542927ee2a3c8812fad84957e51bf67d"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon May 23 14:51:41 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "kernel: Map most files to use export.h instead of module.h\n\nThe changed files were only including linux/module.h for the\nEXPORT_SYMBOL infrastructure, and nothing else.  Revector them\nonto the isolated export header for faster compile times.\n\nNothing to see here but a whole lot of instances of:\n\n  -#include \u003clinux/module.h\u003e\n  +#include \u003clinux/export.h\u003e\n\nThis commit is only changing the kernel dir; next targets\nwill probably be mm, fs, the arch dirs, etc.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "ec484608c5885931c432e99ecfd2772288cd993c",
      "tree": "1e62f1ac1e79241d092bef4c7b9f051c9cf9b014",
      "parents": [
        "76bf6877fed4f59826a72e0ab209badfc594008a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 25 16:09:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 13 11:11:45 2011 +0200"
      },
      "message": "locking, kprobes: Annotate the hash locks and kretprobe.lock as raw\n\nThe kprobe locks can be taken in atomic context and therefore\ncannot be preempted on -rt - annotate it.\n\nIn mainline this change documents the low level nature of\nthe lock - otherwise there\u0027s no functional difference. Lockdep\nand Sparse checking will work as usual.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc81d48d13d8839fae6833c95794c403b2133f36",
      "tree": "ebb87fb7664549eba344489e80cef1b64555bba0",
      "parents": [
        "1538f888f1e793de04e0f90372352ac1b05833cf"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Jun 27 16:26:50 2011 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 15 15:11:47 2011 -0400"
      },
      "message": "kprobes: Return -ENOENT if probe point doesn\u0027t exist\n\nReturn -ENOENT if probe point doesn\u0027t exist, but still returns\n-EINVAL if both of kprobe-\u003eaddr and kprobe-\u003esymbol_name are\nspecified or both are not specified.\n\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nLink: http://lkml.kernel.org/r/20110627072650.6528.67329.stgit@fedora15\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "b76834bc1b6db0a0923eed85c81b1113021b0612",
      "tree": "b68c24d71ad0e6f26b317a2ef03c6139d31b8114",
      "parents": [
        "4a6f4fe8377720e5a279fdbb769946c242e936d3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Dec 06 11:16:25 2010 -0600"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:07:19 2010 +0100"
      },
      "message": "kprobes: Use this_cpu_ops\n\nUse this_cpu ops in various places to optimize per cpu data access.\n\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "f984ba4eb575e4a27ed28a76d4126d2aa9233c32",
      "tree": "0df5f1510537edac10ae9cc1e5572d70dcf0a8c7",
      "parents": [
        "cd7ebe2298ff1c3112232878678ce5fe6be8a15b"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Dec 03 18:54:34 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 06 17:59:32 2010 +0100"
      },
      "message": "kprobes: Use text_poke_smp_batch for unoptimizing\n\nUse text_poke_smp_batch() on unoptimization path for reducing\nthe number of stop_machine() issues. If the number of\nunoptimizing probes is more than MAX_OPTIMIZE_PROBES(\u003d256),\nkprobes unoptimizes first MAX_OPTIMIZE_PROBES probes and kicks\noptimizer for remaining probes.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: 2nddept-manager@sdl.hitachi.co.jp\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20101203095434.2961.22657.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd7ebe2298ff1c3112232878678ce5fe6be8a15b",
      "tree": "7bac7adf40ce2141e779b7d99b2784279c2dc45c",
      "parents": [
        "7deb18dcf0478940ac979de002db1ed8ba6531dc"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Dec 03 18:54:28 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 06 17:59:31 2010 +0100"
      },
      "message": "kprobes: Use text_poke_smp_batch for optimizing\n\nUse text_poke_smp_batch() in optimization path for reducing\nthe number of stop_machine() issues. If the number of optimizing\nprobes is more than MAX_OPTIMIZE_PROBES(\u003d256), kprobes optimizes\nfirst MAX_OPTIMIZE_PROBES probes and kicks optimizer for\nremaining probes.\n\nChanges in v5:\n- Use kick_kprobe_optimizer() instead of directly calling\n  schedule_delayed_work().\n- Rescheduling optimizer outside of kprobe mutex lock.\n\nChanges in v2:\n- Allocate code buffer and parameters in arch_init_kprobes()\n  instead of using static arraies.\n- Merge previous max optimization limit patch into this patch.\n  So, this patch introduces upper limit of optimization at\n  once.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: 2nddept-manager@sdl.hitachi.co.jp\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20101203095428.2961.8994.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0490cd1f9d99569d3bd64e17adc88db06a5007be",
      "tree": "a857099ce331773d5103f376860dd3f29f7a8b54",
      "parents": [
        "6274de4984a630b45c6934b3ee62e5692c745328"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Dec 03 18:54:16 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 06 17:59:31 2010 +0100"
      },
      "message": "kprobes: Reuse unused kprobe\n\nReuse unused (waiting for unoptimizing and no user handler)\nkprobe on given address instead of returning -EBUSY for\nregistering a new kprobe.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: 2nddept-manager@sdl.hitachi.co.jp\nLKML-Reference: \u003c20101203095416.2961.39080.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6274de4984a630b45c6934b3ee62e5692c745328",
      "tree": "dfe66f06596b0165c87a75d800fa83acb6201d1b",
      "parents": [
        "61f4e13ffd85c037a942c5b7fd13f2b0c3162862"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Dec 03 18:54:09 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 06 17:59:30 2010 +0100"
      },
      "message": "kprobes: Support delayed unoptimizing\n\nUnoptimization occurs when a probe is unregistered or disabled,\nand is heavy because it recovers instructions by using\nstop_machine(). This patch delays unoptimization operations and\nunoptimize several probes at once by using\ntext_poke_smp_batch(). This can avoid unexpected system slowdown\ncoming from stop_machine().\n\nChanges in v5:\n- Split this patch into several cleanup patches and this patch.\n- Fix some text_mutex lock miss.\n- Use bool instead of int for behavior flags.\n- Add additional comment for (un)optimizing path.\n\nChanges in v2:\n- Use dynamic allocated buffers and params.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: 2nddept-manager@sdl.hitachi.co.jp\nLKML-Reference: \u003c20101203095409.2961.82733.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "61f4e13ffd85c037a942c5b7fd13f2b0c3162862",
      "tree": "29ce3816a1fbbed40005df664652e040d88117db",
      "parents": [
        "6f0f1dd71953d4243c11e490dd49ef24ebaf6c0b"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Dec 03 18:54:03 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 06 17:59:30 2010 +0100"
      },
      "message": "kprobes: Separate kprobe optimizing code from optimizer\n\nSeparate kprobe optimizing code from optimizer, this\nwill make easy to introducing unoptimizing code in\noptimizer.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: 2nddept-manager@sdl.hitachi.co.jp\nLKML-Reference: \u003c20101203095403.2961.91201.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f0f1dd71953d4243c11e490dd49ef24ebaf6c0b",
      "tree": "84a77def76610b59a2abfed87f548ab42b64da84",
      "parents": [
        "6d8e40a85ef72a0514ebd00748eb18cab432b200"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Dec 03 18:53:57 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 06 17:59:29 2010 +0100"
      },
      "message": "kprobes: Cleanup disabling and unregistering path\n\nMerge disabling kprobe to unregistering kprobe function\nand add comments for disabing/unregistring process.\n\nCurrent unregistering code disables(disarms) kprobes after\nchecking target kprobe status. This patch changes it to\ndisabling kprobe first after that it changing the kprobe\u0027s\nstate. This allows to share probe disabling code between\ndisable_kprobe() and unregister_kprobe().\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: 2nddept-manager@sdl.hitachi.co.jp\nLKML-Reference: \u003c20101203095356.2961.30152.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d8e40a85ef72a0514ebd00748eb18cab432b200",
      "tree": "83c393b0918e3e8093a894b2f1405fc3c885ae94",
      "parents": [
        "e4b546a3643fbfc510d5ef7db538e4d3ab00effb"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Dec 03 18:53:50 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 06 17:59:29 2010 +0100"
      },
      "message": "kprobes: Rename old_p to more appropriate name\n\nRename irrelevant uses of \"old_p\" to more appropriate names.\nOriginally, \"old_p\" just meant \"the old kprobe on given address\"\nbut current code uses that name as \"just another kprobe\" or\nsomething like that. This patch renames those pointer names\nto more appropriate one for maintainability.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: 2nddept-manager@sdl.hitachi.co.jp\nLKML-Reference: \u003c20101203095350.2961.48110.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "de31c3ca8179d7c21def7ecb56e4fec0c8659d36",
      "tree": "63a488e1e3778c328074aaa47cb062b910d9c902",
      "parents": [
        "91bad2f8d3057482b9afb599f14421b007136960"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Oct 18 10:38:58 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 29 12:55:55 2010 -0400"
      },
      "message": "jump label: Fix error with preempt disable holding mutex\n\nKprobes and jump label were having a race between mutexes that\nwas fixed by reordering the jump label. But this reordering\nmoved the jump label mutex into a preempt disable location.\n\nThis patch does a little fiddling to move the grabbing of\nthe jump label mutex from inside the preempt disable section\nand still keep the order correct between the mutex and the\nkprobes lock.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "91bad2f8d3057482b9afb599f14421b007136960",
      "tree": "ea5e09e74107593dcfc192c65c1395ed22674df4",
      "parents": [
        "b842f8faf6c7dc2005c6a70631c1a91bac02f180"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Oct 01 17:23:48 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Oct 28 09:17:40 2010 -0400"
      },
      "message": "jump label: Fix deadlock b/w jump_label_mutex vs. text_mutex\n\nregister_kprobe() downs the \u0027text_mutex\u0027 and then calls\njump_label_text_reserved(), which downs the \u0027jump_label_mutex\u0027.\nHowever, the jump label code takes those mutexes in the reverse\norder.\n\nFix by requiring the caller of jump_label_text_reserved() to do\nthe jump label locking via the newly added: jump_label_lock(),\njump_label_unlock(). Currently, kprobes is the only user\nof jump_label_text_reserved().\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c759032c48d5e30c27f0bba003d09bffa8e9f28bb.1285965957.git.jbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
      "tree": "c1a7a8bda41b99caa4b4a0fe320fc73278879f7d",
      "parents": [
        "f66dd539feb849a3a00f7fac67c026e0935e373a",
        "e25804a0327dad954f7d43803178fdef2fd35b4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf python scripting: Add futex-contention script\n  perf python scripting: Fixup cut\u0027n\u0027paste error in sctop script\n  perf scripting: Shut up \u0027perf record\u0027 final status\n  perf record: Remove newline character from perror() argument\n  perf python scripting: Support fedora 11 (audit 1.7.17)\n  perf python scripting: Improve the syscalls-by-pid script\n  perf python scripting: print the syscall name on sctop\n  perf python scripting: Improve the syscalls-counts script\n  perf python scripting: Improve the failed-syscalls-by-pid script\n  kprobes: Remove redundant text_mutex lock in optimize\n  x86/oprofile: Fix uninitialized variable use in debug printk\n  tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n  perf probe: Fix format specified for Dwarf_Off parameter\n  perf trace: Fix detection of script extension\n  perf trace: Use $PERF_EXEC_PATH in canned report scripts\n  perf tools: Document event modifiers\n  perf tools: Remove direct slang.h include\n  perf_events: Fix for transaction recovery in group_sched_in()\n  perf_events: Revert: Fix transaction recovery in group_sched_in()\n  perf, x86: Use NUMA aware allocations for PEBS/BTS/DS allocations\n  ...\n"
    },
    {
      "commit": "43948f50276eca010a22726860dfe9a4e8130136",
      "tree": "7c84a90e5d0fb88ae5972d2bc7b5f1c70cf34650",
      "parents": [
        "2c78ffeca98fcd5a1dfd4a322438944506ed5e64"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Oct 25 22:18:01 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 25 15:51:55 2010 +0200"
      },
      "message": "kprobes: Remove redundant text_mutex lock in optimize\n\nRemove text_mutex locking in optimize_all_kprobes, because\nthis function doesn\u0027t modify text. It simply queues probes on\noptimization list for kprobe_optimizer worker thread.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101025131801.19160.70939.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "4c3ef6d79328c0e23ade60cbfc8d496123a6855c",
      "tree": "4a28260548ff4ad507d12716d6cdaa6bc0451a87",
      "parents": [
        "e0cf0cd49632552f063fb3ae58691946da45fb2e"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Sep 17 11:09:08 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 22 16:30:46 2010 -0400"
      },
      "message": "jump label: Add jump_label_text_reserved() to reserve jump points\n\nAdd a jump_label_text_reserved(void *start, void *end), so that other\npieces of code that want to modify kernel text, can first verify that\njump label has not reserved the instruction.\n\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c06236663a3a7b1c1f13576bb9eccb6d9c17b7bfe.1284733808.git.jbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bf5438fca2950b03c21ad868090cc1a8fcd49536",
      "tree": "9fc5693763263704de8d8ba1c37a84172dbe5eb7",
      "parents": [
        "fa6f2cc77081792e4edca9168420a3422299ef15"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Sep 17 11:09:00 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 22 16:29:41 2010 -0400"
      },
      "message": "jump label: Base patch for jump label\n\nbase patch to implement \u0027jump labeling\u0027. Based on a new \u0027asm goto\u0027 inline\nassembly gcc mechanism, we can now branch to labels from an \u0027asm goto\u0027\nstatment. This allows us to create a \u0027no-op\u0027 fastpath, which can subsequently\nbe patched with a jump to the slowpath code. This is useful for code which\nmight be rarely used, but which we\u0027d like to be able to call, if needed.\nTracepoints are the current usecase that these are being implemented for.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003cee8b3595967989fdaf84e698dc7447d315ce972a.1284733808.git.jbaron@redhat.com\u003e\n\n[ cleaned up some formating ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "635c17c2b2b4e5cd34f5dcba19d751b4e58533c2",
      "tree": "8d24215b1eb84157679c212e40541fcdb9fe9d8c",
      "parents": [
        "6abded71d730322df96c5b7f4ab952ffd5a0080d"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 15 10:04:30 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:44:02 2010 +0200"
      },
      "message": "kprobes: Add sparse context annotations\n\nThis removes following warnings when build with C\u003d1\n\n warning: context imbalance in \u0027kretprobe_hash_lock\u0027 - wrong count at exit\n warning: context imbalance in \u0027kretprobe_table_lock\u0027 - wrong count at exit\n warning: context imbalance in \u0027kretprobe_hash_unlock\u0027 - unexpected unlock\n warning: context imbalance in \u0027kretprobe_table_unlock\u0027 - unexpected unlock\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nLKML-Reference: \u003c1284512670-2369-6-git-send-email-namhyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6376b2297502e72255b7eb2893c6044ad5a7b5f4",
      "tree": "8ceebb98c5a324580b1e9ce648ded86db2dd85fc",
      "parents": [
        "05662bdb64c746079de7ac4dc4fb4caa5e8e119f"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 15 10:04:28 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:44:01 2010 +0200"
      },
      "message": "kprobes: Make functions static\n\nMake following (internal) functions static to make sparse\nhappier :-)\n\n * get_optimized_kprobe: only called from static functions\n * kretprobe_table_unlock: _lock function is static\n * kprobes_optinsn_template_holder: never called but holding asm code\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nLKML-Reference: \u003c1284512670-2369-4-git-send-email-namhyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "05662bdb64c746079de7ac4dc4fb4caa5e8e119f",
      "tree": "135bb59f626099718f6a325ae1c6a1155015b79e",
      "parents": [
        "edbaadbe42b0b790618ec49d29626223529d8195"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 15 10:04:27 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:44:01 2010 +0200"
      },
      "message": "kprobes: Verify jprobe entry point\n\nVerify jprobe\u0027s entry point is a function entry point\nusing kallsyms\u0027 offset value.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nLKML-Reference: \u003c1284512670-2369-3-git-send-email-namhyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edbaadbe42b0b790618ec49d29626223529d8195",
      "tree": "fbd036fe6208249b40ab56f1e68c4efb5b7785d0",
      "parents": [
        "38a81da2205f94e8a2a834b51a6b99c91fc7c2e8"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Sep 15 10:04:26 2010 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:44:00 2010 +0200"
      },
      "message": "kprobes: Remove redundant address check\n\nRemove call to kernel_text_address() in register_jprobes()\nbecause it is called right after in register_kprobe().\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nLKML-Reference: \u003c1284512670-2369-2-git-send-email-namhyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0614829c16ab9d31f1b7d40516decfbf3d32102",
      "tree": "3787f73258a8cc02b6608849c37bff71ce3a3272",
      "parents": [
        "c7993165ef0c1d636ca05f4787739f8414584e6d"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Apr 27 18:33:12 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 18:08:30 2010 +0200"
      },
      "message": "kprobes: Move enable/disable_kprobe() out from debugfs code\n\nMove enable/disable_kprobe() API out from debugfs related code,\nbecause these interfaces are not related to debugfs interface.\n\nThis fixes a compiler warning.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by:  Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nLKML-Reference: \u003c20100427223312.2322.60512.stgit@localhost6.localdomain6\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83ff56f46a8532488ee364bb93a9cb2a59490d33",
      "tree": "eacccd619d004b2578bc14e6049eb7c03aac8bb0",
      "parents": [
        "a12b51c478899fe0b7e874a559b05ba35f1128ee"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Mar 09 10:22:19 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 14:06:16 2010 +0100"
      },
      "message": "kprobes: Calculate the index correctly when freeing the out-of-line execution slot\n\nFrom : Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\n\nWhen freeing the instruction slot, the arithmetic to calculate\nthe index of the slot in the page needs to account for the total\nsize of the instruction on the various architectures.\n\nCalculate the index correctly when freeing the out-of-line\nexecution slot.\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nLKML-Reference: \u003c4B9667AB.9050507@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2be84df99ebc93599c69e931a3c4a5105abfabc",
      "tree": "35f720b12bed1cc98c7d261dc3a6af96916faa44",
      "parents": [
        "afd66255b9a48f5851326ddae50e2203fbf71dc9"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Feb 25 08:34:15 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 17:49:25 2010 +0100"
      },
      "message": "kprobes: Jump optimization sysctl interface\n\nAdd /proc/sys/debug/kprobes-optimization sysctl which enables\nand disables kprobes jump optimization on the fly for debugging.\n\nChanges in v7:\n - Remove ctl_name \u003d CTL_UNNUMBERED for upstream compatibility.\n\nChanges in v6:\n- Update comments and coding style.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Anders Kaseorg \u003candersk@ksplice.com\u003e\nCc: Tim Abbott \u003ctabbott@ksplice.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nLKML-Reference: \u003c20100225133415.6725.8274.stgit@localhost6.localdomain6\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afd66255b9a48f5851326ddae50e2203fbf71dc9",
      "tree": "32c7a36a8e2c740b989f16b3e2878f8c565d57f8",
      "parents": [
        "4610ee1d3638fa05ba8e87ccfa971db8e4033ae7"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Feb 25 08:34:07 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 17:49:24 2010 +0100"
      },
      "message": "kprobes: Introduce kprobes jump optimization\n\nIntroduce kprobes jump optimization arch-independent parts.\nKprobes uses breakpoint instruction for interrupting execution\nflow, on some architectures, it can be replaced by a jump\ninstruction and interruption emulation code. This gains kprobs\u0027\nperformance drastically.\n\nTo enable this feature, set CONFIG_OPTPROBES\u003dy (default y if the\narch supports OPTPROBE).\n\nChanges in v9:\n - Fix a bug to optimize probe when enabling.\n - Check nearby probes can be optimize/unoptimize when disarming/arming\n   kprobes, instead of registering/unregistering. This will help\n   kprobe-tracer because most of probes on it are usually disabled.\n\nChanges in v6:\n - Cleanup coding style for readability.\n - Add comments around get/put_online_cpus().\n\nChanges in v5:\n - Use get_online_cpus()/put_online_cpus() for avoiding text_mutex\n   deadlock.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Anders Kaseorg \u003candersk@ksplice.com\u003e\nCc: Tim Abbott \u003ctabbott@ksplice.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nLKML-Reference: \u003c20100225133407.6725.81992.stgit@localhost6.localdomain6\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4610ee1d3638fa05ba8e87ccfa971db8e4033ae7",
      "tree": "6f03d6787616687e61f1c3ef27b68d96f66cc7d0",
      "parents": [
        "d498f763950703c724c650db1d34a1c8679f9ca8"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Feb 25 08:33:59 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 17:49:24 2010 +0100"
      },
      "message": "kprobes: Introduce generic insn_slot framework\n\nMake insn_slot framework support various size slots.\nCurrent insn_slot just supports one-size instruction buffer\nslot. However, kprobes jump optimization needs larger size\nbuffers.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Anders Kaseorg \u003candersk@ksplice.com\u003e\nCc: Tim Abbott \u003ctabbott@ksplice.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nLKML-Reference: \u003c20100225133358.6725.82430.stgit@localhost6.localdomain6\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Anders Kaseorg \u003candersk@ksplice.com\u003e\nCc: Tim Abbott \u003ctabbott@ksplice.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\n"
    },
    {
      "commit": "5ecaafdbf44b1ba400b746c60c401d54c7ee0863",
      "tree": "a781d78f30a618cbb734dc18dad8c5cb6271a832",
      "parents": [
        "2161db969313cb94ffd9377a525fb75c3fee9eeb"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Fri Feb 05 01:24:34 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 05 08:13:57 2010 +0100"
      },
      "message": "kprobes: Add mcount to the kprobes blacklist\n\nSince mcount function can be called from everywhere,\nit should be blacklisted. Moreover, the \"mcount\" symbol\nis a special symbol name. So, it is better to put it in\nthe generic blacklist.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100205062433.3745.36726.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4554dbcb85a4ed2abaa2b6fa15649b796699ec89",
      "tree": "5debd228bf382384d8a1430246b65a0f669f816f",
      "parents": [
        "2cfa19780d61740f65790c5bae363b759d7c96fa"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Feb 02 16:49:18 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 04 09:36:19 2010 +0100"
      },
      "message": "kprobes: Check probe address is reserved\n\nCheck whether the address of new probe is already reserved by\nftrace or alternatives (on x86) when registering new probe.\nIf reserved, it returns an error and not register the probe.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: przemyslaw@pawelczyk.it\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c20100202214918.4694.94179.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "615d0ebbc782b67296e3226c293f520f93f93515",
      "tree": "1831dffd72515695839fc3e99a70976393c4d6c8",
      "parents": [
        "57d818895f9d294ab9080e5a662675fdee943ff1"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Feb 02 16:49:04 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 04 09:36:18 2010 +0100"
      },
      "message": "kprobes: Disable booster when CONFIG_PREEMPT\u003dy\n\nDisable kprobe booster when CONFIG_PREEMPT\u003dy at this time,\nbecause it can\u0027t ensure that all kernel threads preempted on\nkprobe\u0027s boosted slot run out from the slot even using\nfreeze_processes().\n\nThe booster on preemptive kernel will be resumed if\nsynchronize_tasks() or something like that is introduced.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100202214904.4694.24330.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2ef6661ce62e26a8c0978e521fab646128a144b",
      "tree": "d03139549a1bfd627249a4db2e36b788b62462e3",
      "parents": [
        "0b413e44d64aeac36a096505a40fc2ff470872fa"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Dec 21 13:02:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 10:25:31 2009 +0100"
      },
      "message": "kprobes: Fix distinct type warning\n\nEvery time I see this:\n\n kernel/kprobes.c: In function \u0027register_kretprobe\u0027:\n kernel/kprobes.c:1038: warning: comparison of distinct pointer types lacks a cast\n\nI\u0027m wondering if something changed in common code and we need to\ndo something for s390. Apparently that\u0027s not the case.\nLet\u0027s get rid of this annoying warning.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nLKML-Reference: \u003c20091221120224.GA4471@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c3fa27d1367fac63ac8533d6f20ea851d0d70a10",
      "tree": "e7731554085e22b6b63411b1ebb401079f3e0bbb",
      "parents": [
        "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
        "d103d01e4b19f185d3c85f77402b605534c32e89"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:21 2009 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (470 commits)\n  x86: Fix comments of register/stack access functions\n  perf tools: Replace %m with %a in sscanf\n  hw-breakpoints: Keep track of user disabled breakpoints\n  tracing/syscalls: Make syscall events print callbacks static\n  tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook\n  perf: Don\u0027t free perf_mmap_data until work has been done\n  perf_event: Fix compile error\n  perf tools: Fix _GNU_SOURCE macro related strndup() build error\n  trace_syscalls: Remove unused syscall_name_to_nr()\n  trace_syscalls: Simplify syscall profile\n  trace_syscalls: Remove duplicate init_enter_##sname()\n  trace_syscalls: Add syscall_nr field to struct syscall_metadata\n  trace_syscalls: Remove enter_id exit_id\n  trace_syscalls: Set event_enter_##sname-\u003edata to its metadata\n  trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit\n  perf_event: Initialize data.period in perf_swevent_hrtimer()\n  perf probe: Simplify event naming\n  perf probe: Add --list option for listing current probe events\n  perf probe: Add argv_split() from lib/argv_split.c\n  perf probe: Move probe event utility functions to probe-event.c\n  ...\n"
    },
    {
      "commit": "4dae560f97fa438f373b53e14b30149c9e44a600",
      "tree": "4408896d10c483e0f855636f8b9e208bd856d6fc",
      "parents": [
        "5e9b397292ca0b9409dced33e3a22ec993377064"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Fri Oct 30 19:23:10 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 17:00:18 2009 +0100"
      },
      "message": "kprobes: Sanitize struct kretprobe_instance allocations\n\nFor as long as kretprobes have existed, we\u0027ve allocated NR_CPUS\ninstances of kretprobe_instance structures. With the default\nvalue of CONFIG_NR_CPUS increasing on certain architectures, we\nare potentially wasting kernel memory.\n\nSee http://sourceware.org/bugzilla/show_bug.cgi?id\u003d10839#c3 for\nmore details.\n\nUse a saner num_possible_cpus() instead of NR_CPUS for\nallocation.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c20091030135310.GA22230@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb3c3e807140816b5f5fd4840473ee52a916ad4f",
      "tree": "9e8a69d266a7df86ca16177eefffab4b4e910753",
      "parents": [
        "595c36490deb49381dc51231a3d5e6b66786ed27",
        "012abeea669ea49636cf952d13298bb68654146a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 17 09:58:25 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 17 09:58:25 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.32-rc5\u0027 into perf/probes\n\nConflicts:\n\tkernel/trace/trace_event_profile.c\n\nMerge reason: update to -rc5 and resolve conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "828c09509b9695271bcbdc53e9fc9a6a737148d2",
      "tree": "072ffad6f02db7bf4095e07e2b90247cfa042998",
      "parents": [
        "1c4115e595dec42aa0e81ba47ef46e35b34ed428"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 01 15:43:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:11 2009 -0700"
      },
      "message": "const: constify remaining file_operations\n\n[akpm@linux-foundation.org: fix KVM]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7a4b414eed51f1653bb05ebe84122bf9a7ae18b",
      "tree": "bd6603a0c27de4c138a1767871897e9cd3e1a1d2",
      "parents": [
        "1f0ab40976460bc4673fa204ce917a725185d8f2",
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into tracing/kprobes\n\nConflicts:\n\tkernel/trace/Makefile\n\tkernel/trace/trace.h\n\tkernel/trace/trace_event_types.h\n\tkernel/trace/trace_export.c\n\nMerge reason:\n\tSync with latest significant tracing core changes.\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f0ab40976460bc4673fa204ce917a725185d8f2",
      "tree": "d854f402352917359729eb35e73bc34ee227c875",
      "parents": [
        "5a0d9050db4d1147722b42afef9011251b2651ee"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue Sep 15 10:43:07 2009 +0530"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Sep 17 04:24:57 2009 +0200"
      },
      "message": "kprobes: Prevent re-registration of the same kprobe\n\nPrevent re-registration of the same kprobe. This situation, though\nunlikely, needs to be flagged since it can lead to a system crash if\nit\u0027s not handled.\n\nThe core change itself is small, but the helper routine needed to be\nmoved around a bit; hence the diffstat.\n\nSigned-off-by: Ananth N Mavinakayanahalli\u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c20090915051307.GB26458@in.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "a00e817f42663941ea0aa5f85a9d1c4f8b212839",
      "tree": "40d2f5e86bf58e4250066fa8cb606a8157e9019b",
      "parents": [
        "f12b4f546b4e327d5620a544a2bddab68de66027"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Sep 08 12:47:55 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 11 03:59:35 2009 +0200"
      },
      "message": "kprobes/x86-32: Move irq-exit functions to kprobes section\n\nMove irq-exit functions to .kprobes.text section to protect against\nkprobes recursion.\n\nWhen I ran kprobe stress test on x86-32, I found below symbols\ncause unrecoverable recursive probing:\n\n\tret_from_exception\n\tret_from_intr\n\tcheck_userspace\n\trestore_all\n\trestore_all_notrace\n\trestore_nocheck\n\tirq_return\n\nAnd also, I found some interrupt/exception entry points that\ncause similar problems.\n\nThis patch moves those symbols (including their container functions)\nto .kprobes.text section to prevent any kprobes probing.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20090908164755.24050.81182.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "65e234ec2c4a0659ca22531dc1372a185f088517",
      "tree": "40d36d893a8bf64e89b6eb031da7f6f8fe279bc3",
      "parents": [
        "8222d718b3ad3ae49c48f69ae4b6a1128c9a92cf"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Aug 27 13:23:32 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Aug 30 03:15:55 2009 +0200"
      },
      "message": "kprobes: Prohibit to probe native_get_debugreg\n\nSince do_debug() calls get_debugreg(), native_get_debugreg() will be\ncalled from singlestepping. This can cause an int3 infinite loop.\n\nWe can\u0027t put it in the .text.kprobes section because it is inlined,\nthen we blacklist its name.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20090827172332.8246.34194.stgit@localhost.localdomain\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "24851d2447830e6cba4c4b641cb73e713f312373",
      "tree": "b0aa315fc67b3aedab3bd84ef99ea3d933fd365c",
      "parents": [
        "30a7e073b590ebd1829a906164b0a637e77cc967"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 26 23:38:30 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 27 02:33:03 2009 +0200"
      },
      "message": "tracing/kprobes: Dump the culprit kprobe in case of kprobe recursion\n\nKprobes can enter into a probing recursion, ie: a kprobe that does an\nendless loop because one of its core mechanism function used during\nprobing is also probed itself.\n\nThis patch helps pinpointing the kprobe that raised such recursion\nby dumping it and raising a BUG instead of a warning (we also disarm\nthe kprobe to try avoiding recursion in BUG itself). Having a BUG\ninstead of a warning stops the stacktrace in the right place and\ndoesn\u0027t pollute the logs with hundreds of traces that eventually end\nup in a stack overflow.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\n"
    },
    {
      "commit": "89034bc2c7b839702c00a704e79d112737f98be0",
      "tree": "e65b1f3d4c751baa840efc81bc4734f089379eb3",
      "parents": [
        "fb82ad719831db58e9baa4c67015aae3fe27e7e3",
        "85dfd81dc57e8183a277ddd7a56aa65c96f3f487"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 11 14:19:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 11 14:19:09 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/core\n\nConflicts:\n\tkernel/trace/trace_events_filter.c\n\nWe use the tracing/core version.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1",
      "tree": "fc343f7f608f4db5475abfdc8bbad3b0cfef69fd",
      "parents": [
        "90a09c9cf78344d18e2438c3b87363b949629fa3"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jul 28 19:47:23 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:44:06 2009 -0700"
      },
      "message": "kprobes: Use kernel_text_address() for checking probe address\n\nUse kernel_text_address() for checking probe address instead of\n__kernel_text_address(), because __kernel_text_address() returns true\nfor init functions even after relaseing those functions.\n\nThat will hit a BUG() in text_poke().\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5cb5a2d8d7dc872cf1504091ad0e59fe5ff7cb5",
      "tree": "5608e7a85768d2fa2a21ec8e8f3e933ab1ede60d",
      "parents": [
        "4a2bb6fcc80e6330ca2f2393e98605052cc7780b"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jun 30 17:08:14 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 10:43:41 2009 +0200"
      },
      "message": "kprobes: Clean up insn_pages by using list instead of hlist\n\nUse struct list instead of struct hlist for managing\ninsn_pages, because insn_pages doesn\u0027t use hash table.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nLKML-Reference: \u003c20090630210814.17851.64651.stgit@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a2bb6fcc80e6330ca2f2393e98605052cc7780b",
      "tree": "3e1d2314d7002f13bb61ff78266cce3922673c93",
      "parents": [
        "238a24f626628cb16a3015f332d649f08246ca89"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jun 30 17:08:09 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 10:43:07 2009 +0200"
      },
      "message": "kprobes: No need to unlock kprobe_insn_mutex\n\nRemove needless kprobe_insn_mutex unlocking during safety check\nin garbage collection, because if someone releases a dirty slot\nduring safety check (which ensures other cpus doesn\u0027t execute\nall dirty slots), the safety check must be fail. So, we need to\nhold the mutex while checking safety.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nLKML-Reference: \u003c20090630210809.17851.28781.stgit@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "201517a7f3ec497fff545a7659c6c876f89f9054",
      "tree": "47721de5b13043eb9e7e10aaf7fe544c794a3c7d",
      "parents": [
        "d7a5926978cb109b2db5985c65086483caf9e226"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu May 07 16:31:26 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 08 16:23:48 2009 -0700"
      },
      "message": "kprobes: fix to use text_mutex around arm/disarm kprobe\n\nFix kprobes to lock text_mutex around some arch_arm/disarm_kprobe() which\nare newly added by commit de5bd88d5a5cce3cacea904d3503e5ebdb3852a2.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de5bd88d5a5cce3cacea904d3503e5ebdb3852a2",
      "tree": "da24ac8b38d371ee03a21ed0f3647c518689ebd3",
      "parents": [
        "e579abeb58eb4b8d7321c6eb44dd9e2d0cbaebaa"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:01:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:08 2009 -0700"
      },
      "message": "kprobes: support per-kprobe disabling\n\nAdd disable_kprobe() and enable_kprobe() to disable/enable kprobes\ntemporarily.\n\ndisable_kprobe() asynchronously disables probe handlers of specified\nkprobe.  So, after calling it, some handlers can be called at a while.\nenable_kprobe() enables specified kprobe.\n\naggr_pre_handler and aggr_post_handler check disabled probes.  On the\nother hand aggr_break_handler and aggr_fault_handler don\u0027t check it\nbecause these handlers will be called while executing pre or post handlers\nand usually those help error handling.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e579abeb58eb4b8d7321c6eb44dd9e2d0cbaebaa",
      "tree": "56ebd4b392408ddba88a5da54004fd0a1bfbccf9",
      "parents": [
        "cc00e9cfe0e5c4c31057c722e49fdf2c76dd5953"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:01:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:08 2009 -0700"
      },
      "message": "kprobes: rename kprobe_enabled to kprobes_all_disarmed\n\nRename kprobe_enabled to kprobes_all_disarmed and invert logic due to\navoiding naming confusion from per-probe disabling.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99081ab553d6a88dd6b3774af5eef94dbb8faad7",
      "tree": "a78c2a07ec780b110e49939c8b954e2468398e16",
      "parents": [
        "b918e5e60d775549478e4268155142156a95aa17"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:00:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:08 2009 -0700"
      },
      "message": "kprobes: move EXPORT_SYMBOL_GPL just after function definitions\n\nClean up positions of EXPORT_SYMBOL_GPL in kernel/kprobes.c according to\ncheckpatch.pl.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b918e5e60d775549478e4268155142156a95aa17",
      "tree": "92e7d435088772803b24b1d9901ea3e17e6a9189",
      "parents": [
        "96a6d9aa096aeb758273a8fb6388c279ecef5e7e"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 06 19:00:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:07 2009 -0700"
      },
      "message": "kprobes: cleanup aggr_kprobe related code\n\nCurrently, kprobes can disable all probes at once, but can\u0027t disable it\nindividually (not unregister, just disable an kprobe, because\nunregistering needs to wait for scheduler synchronization).  These patches\nintroduce APIs for on-the-fly per-probe disabling and re-enabling by\ndis-arming/re-arming its breakpoint instruction.\n\nThis patch:\n\nChange old_p to ap in add_new_kprobe() for readability, copy flags member\nin add_aggr_kprobe(), and simplify the code flow of\nregister_aggr_kprobe().\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f02b8624fedca39886b0eef770dca70c2f0749b3",
      "tree": "68583a9e84eacb3203e338c28f9236494ebb40ec",
      "parents": [
        "03418c7efaa429dc7647ac93e3862e3fe1816873"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Wed Mar 18 17:06:21 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 12:51:16 2009 +0100"
      },
      "message": "kprobes: Fix locking imbalance in kretprobes\n\nFix locking imbalance in kretprobes:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: bad unlock balance detected! ]\n-------------------------------------\nkthreadd/2 is trying to release lock (\u0026rp-\u003elock) at:\n[\u003cc06b3080\u003e] pre_handler_kretprobe+0xea/0xf4\nbut there are no more locks to release!\n\nother info that might help us debug this:\n1 lock held by kthreadd/2:\n #0:  (rcu_read_lock){..--}, at: [\u003cc06b2b24\u003e] __atomic_notifier_call_chain+0x0/0x5a\n\nstack backtrace:\nPid: 2, comm: kthreadd Not tainted 2.6.29-rc8 #1\nCall Trace:\n [\u003cc06ae498\u003e] ? printk+0xf/0x17\n [\u003cc06b3080\u003e] ? pre_handler_kretprobe+0xea/0xf4\n [\u003cc044ce6c\u003e] print_unlock_inbalance_bug+0xc3/0xce\n [\u003cc0444d4b\u003e] ? clocksource_read+0x7/0xa\n [\u003cc04450a4\u003e] ? getnstimeofday+0x5f/0xf6\n [\u003cc044a9ca\u003e] ? register_lock_class+0x17/0x293\n [\u003cc044b72c\u003e] ? mark_lock+0x1e/0x30b\n [\u003cc0448956\u003e] ? tick_dev_program_event+0x4a/0xbc\n [\u003cc0498100\u003e] ? __slab_alloc+0xa5/0x415\n [\u003cc06b2fbe\u003e] ? pre_handler_kretprobe+0x28/0xf4\n [\u003cc06b3080\u003e] ? pre_handler_kretprobe+0xea/0xf4\n [\u003cc044cf1b\u003e] lock_release_non_nested+0xa4/0x1a5\n [\u003cc06b3080\u003e] ? pre_handler_kretprobe+0xea/0xf4\n [\u003cc044d15d\u003e] lock_release+0x141/0x166\n [\u003cc06b07dd\u003e] _spin_unlock_irqrestore+0x19/0x50\n [\u003cc06b3080\u003e] pre_handler_kretprobe+0xea/0xf4\n [\u003cc06b20b5\u003e] kprobe_exceptions_notify+0x1c9/0x43e\n [\u003cc06b2b02\u003e] notifier_call_chain+0x26/0x48\n [\u003cc06b2b5b\u003e] __atomic_notifier_call_chain+0x37/0x5a\n [\u003cc06b2b24\u003e] ? __atomic_notifier_call_chain+0x0/0x5a\n [\u003cc06b2b8a\u003e] atomic_notifier_call_chain+0xc/0xe\n [\u003cc0442d0d\u003e] notify_die+0x2d/0x2f\n [\u003cc06b0f9c\u003e] do_int3+0x1f/0x71\n [\u003cc06b0e84\u003e] int3+0x2c/0x34\n [\u003cc042d476\u003e] ? do_fork+0x1/0x288\n [\u003cc040221b\u003e] ? kernel_thread+0x71/0x79\n [\u003cc043ed1b\u003e] ? kthread+0x0/0x60\n [\u003cc043ed1b\u003e] ? kthread+0x0/0x60\n [\u003cc04040b8\u003e] ? kernel_thread_helper+0x0/0x10\n [\u003cc043ec7f\u003e] kthreadd+0xac/0x148\n [\u003cc043ebd3\u003e] ? kthreadd+0x0/0x148\n [\u003cc04040bf\u003e] kernel_thread_helper+0x7/0x10\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nTested-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e [2.6.29.x, 2.6.28.x, 2.6.27.x]\nLKML-Reference: \u003c20090318113621.GB4129@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4460fdad85becd569f11501ad5b91814814335ff",
      "tree": "7c781d0131f6130498ee2a346c7e95eb9b9b869f",
      "parents": [
        "0e39ac444636ff5be39b26f1cb56d79594654dda"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Mar 06 10:36:38 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 16:49:00 2009 +0100"
      },
      "message": "tracing, Text Edit Lock - kprobes architecture independent support\n\nUse the mutual exclusion provided by the text edit lock in the kprobes code. It\nallows coherent manipulation of the kernel code by other subsystems.\n\nChangelog:\n\nMove the kernel_text_lock/unlock out of the for loops.\nUse text_mutex directly instead of a function.\nRemove whitespace modifications.\n\n(note : kprobes_mutex is always taken outside of text_mutex)\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nLKML-Reference: \u003c49B14306.2080202@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a4ccaf37ffece09ef33f1cfec67efa8ee56f967",
      "tree": "9a246d76a019318f658c3db7567664cffb5f2824",
      "parents": [
        "33f1d7ecc6cffff3c618a02295de969ebbacd95d"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 21:15:32 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:32:17 2009 -0500"
      },
      "message": "kprobes: check CONFIG_FREEZER instead of CONFIG_PM\n\nCheck CONFIG_FREEZER instead of CONFIG_PM because kprobe booster\ndepends on freeze_processes() and thaw_processes() when CONFIG_PREEMPT\u003dy.\n\nThis fixes a linkage error which occurs when CONFIG_PREEMPT\u003dy, CONFIG_PM\u003dy\nand CONFIG_FREEZER\u003dn.\n\nReported-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f24659d96f4e056125f14498285203d1427cb18e",
      "tree": "8dc1e4e0f47b10d426449e395e81a565ad6d0118",
      "parents": [
        "0deddf436a37c18ceb26c6e3b632fb9b5f58a0c1"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "kprobes: support probing module __init function\n\nAllow kprobes to probe module __init routines.  When __init functions are\nfreed, kprobes which probe those functions are set to \"Gone\" flag.  These\n\"Gone\" probes are disarmed from the code and never be enabled.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: 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"
    },
    {
      "commit": "49ad2fd76c97133fb396edc24ded7fe26093a578",
      "tree": "59cf1df91ff982f16a17d56a4a76f159920c3904",
      "parents": [
        "e8386a0cb22f4a2d439384212c494ad0bda848fe"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "kprobes: remove called_from argument\n\nRemove called_from argument from kprobes which had been used for\npreventing self-refering of kernel module.  However, since we don\u0027t keep\nmodule\u0027s refcount after registering kprobe any more, there is no reason to\ncheck that.\n\nThis patch also simplifies registering/unregistering functions because we\ndon\u0027t need to use __builtin_return_address(0) which was passed to\ncalled_from.\n\n[ananth@in.ibm.com: build fix]\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8386a0cb22f4a2d439384212c494ad0bda848fe",
      "tree": "84c462bccddead49c0e2c0dcfcc0f70cd9cf60f7",
      "parents": [
        "017c39bdb1b3ac1da6db339474a77b528043c05a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "kprobes: support probing module __exit function\n\nAllows kprobes to probe __exit routine.  This adds flags member to struct\nkprobe.  When module is freed(kprobes hooks module_notifier to get this\nevent), kprobes which probe the functions in that module are set to \"Gone\"\nflag to the flags member.  These \"Gone\" probes are never be enabled.\nUsers can check the GONE flag through debugfs.\n\nThis also removes mod_refcounted, because we couldn\u0027t free a module if\nkprobe incremented the refcount of that module.\n\n[akpm@linux-foundation.org: document some locking]\n[mhiramat@redhat.com: bugfix: pass aggr_kprobe to arch_remove_kprobe]\n[mhiramat@redhat.com: bugfix: release old_p\u0027s insn_slot before error return]\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "017c39bdb1b3ac1da6db339474a77b528043c05a",
      "tree": "1c5271ba125e67e5bf81e4e7a6507ae08253fce1",
      "parents": [
        "129415607845d4daea11ddcba706005c69dcb942"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: add __kprobes to kprobe internal functions\n\nAdd __kprobes to kprobes internal functions for protecting from probing by\nkprobes itself.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: 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"
    },
    {
      "commit": "129415607845d4daea11ddcba706005c69dcb942",
      "tree": "9046ea79a0b81c8823b9d42f00fd7c158861ed5c",
      "parents": [
        "a06f6211ef9b1785922f9d0e8766d63ac4e66de1"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: add kprobe_insn_mutex and cleanup arch_remove_kprobe()\n\nAdd kprobe_insn_mutex for protecting kprobe_insn_pages hlist, and remove\nkprobe_mutex from architecture dependent code.\n\nThis allows us to call arch_remove_kprobe() (and free_insn_slot) while\nholding kprobe_mutex.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc2f70151fe7a117dbe8347edc5a877e749572a3",
      "tree": "930634f100acb38baa597f840b5b12bec750c66e",
      "parents": [
        "51e911e27690aecea01d4fe9cb22d38bdd0748ac"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: bugfix: try_module_get even if calling_mod is NULL\n\nWhen someone called register_*probe() from kernel-core code(not from\nmodule) and that probes a kernel module, users can remove the probed\nmodule because kprobe doesn\u0027t increment reference counter of the module.\n(on the other hand, if the kernel-module calls register_*probe, kprobe\nincrements refcount of the probed module.)\n\nCurrently, we have no register_*probe() calling from kernel-core(except\nsmoke-test, but the smoke-test doesn\u0027t probe module), so there is no real\nbugs.  But the logic is wrong(or not fair) and it can causes a problem\nwhen someone might want to probe module from kernel.\n\nAfter this patch is applied, even if someone put register_*probe() call in\nthe kernel-core code, it increments the reference counter of the probed\nmodule, and it prevents user to remove the module until stopping probing\nit.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e036d040a28bf95255d7eb9faf0ffbba3677e99",
      "tree": "98203974c15ae4fc5aee5723b385b0f45c331ec7",
      "parents": [
        "084c304980f05833bc8a91b856af7dc7a7bb7d60"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Nov 12 13:26:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:17 2008 -0800"
      },
      "message": "kernel/kprobes.c: don\u0027t pad kretprobe_table_locks[] on uniprocessor builds\n\nWe only need the cacheline padding on SMP kernels.  Saves 6k:\n\n   text    data     bss     dec     hex filename\n   5713     388    8840   14941    3a5d kernel/kprobes.o\n   5713     388    2632    8733    221d kernel/kprobes.o\n\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a189d0350f387786b1fb5a5d19e3a5ab0bc0cceb",
      "tree": "d6133d035e0d23a8271f12204e53338f8f343351",
      "parents": [
        "3b1b3f6e57064aa8f91c290fe51cda4c74642902"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Wed Nov 12 13:26:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:16 2008 -0800"
      },
      "message": "kprobes: disable preempt for module_text_address() and kernel_text_address()\n\n__register_kprobe() can be preempted after checking probing address but\nbefore module_text_address() or try_module_get(), and in this interval\nthe module can be unloaded.  In that case, try_module_get(probed_mod)\nwill access to invalid address, or kprobe will probe invalid address.\n\nThis patch uses preempt_disable() to protect it and uses\n__module_text_address() and __kernel_text_address().\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b252c541158cfed9d7e5b019b894fe2174f5908",
      "tree": "cb8f3ea21027f54b1fd54dce51dc47a1ec62b3d0",
      "parents": [
        "88429a105e8c810d9cc9a4ff82cd571816e9858e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 15 22:05:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:52 2008 -0700"
      },
      "message": "make kprobes.c:kretprobe_table_lock() static\n\nMake the needlessly global kretprobe_table_lock() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b6dd986823a8d92ed9f54baa5cef8604d9d9d44",
      "tree": "42aa64ad046b200c4a04491eb3c72ac2f7ffde0e",
      "parents": [
        "ef53d9c5e4da147ecaa43c44c5e5945eb83970a2"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Fri Jul 25 01:46:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "kprobes: remove redundant config check\n\nI noticed that there\u0027s a CONFIG_KPROBES check inside kernel/kprobes.c,\nwhich is redundant.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.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"
    },
    {
      "commit": "ef53d9c5e4da147ecaa43c44c5e5945eb83970a2",
      "tree": "3b596445e5d0613fda4b33a4ae96e0e3fffdcf1e",
      "parents": [
        "53a9600c634e3bfd6230e0597aca159bf4d4d010"
      ],
      "author": {
        "name": "Srinivasa D S",
        "email": "srinivasa@in.ibm.com",
        "time": "Fri Jul 25 01:46:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:30 2008 -0700"
      },
      "message": "kprobes: improve kretprobe scalability with hashed locking\n\nCurrently list of kretprobe instances are stored in kretprobe object (as\nused_instances,free_instances) and in kretprobe hash table.  We have one\nglobal kretprobe lock to serialise the access to these lists.  This causes\nonly one kretprobe handler to execute at a time.  Hence affects system\nperformance, particularly on SMP systems and when return probe is set on\nlot of functions (like on all systemcalls).\n\nSolution proposed here gives fine-grain locks that performs better on SMP\nsystem compared to present kretprobe implementation.\n\nSolution:\n\n 1) Instead of having one global lock to protect kretprobe instances\n    present in kretprobe object and kretprobe hash table.  We will have\n    two locks, one lock for protecting kretprobe hash table and another\n    lock for kretporbe object.\n\n 2) We hold lock present in kretprobe object while we modify kretprobe\n    instance in kretprobe object and we hold per-hash-list lock while\n    modifying kretprobe instances present in that hash list.  To prevent\n    deadlock, we never grab a per-hash-list lock while holding a kretprobe\n    lock.\n\n 3) We can remove used_instances from struct kretprobe, as we can\n    track used instances of kretprobe instances using kretprobe hash\n    table.\n\nTime duration for kernel compilation (\"make -j 8\") on a 8-way ppc64 system\nwith return probes set on all systemcalls looks like this.\n\ncacheline              non-cacheline             Un-patched kernel\naligned patch \t       aligned patch\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nreal    9m46.784s       9m54.412s                  10m2.450s\nuser    40m5.715s       40m7.142s                  40m4.273s\nsys     2m57.754s       2m58.583s                  3m17.430s\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nTime duration for kernel compilation (\"make -j 8) on the same system, when\nkernel is not probed.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nreal    9m26.389s\nuser    40m8.775s\nsys     2m7.283s\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "544304b200c3869bc1312bcf941c4cf04d65b56c",
      "tree": "6c4f1865275eb105f7b48d5aac19b68ce45c7352",
      "parents": [
        "08405b8bd1795145e0f9cb8cb13949281efe9ec2"
      ],
      "author": {
        "name": "Daniel Guilak",
        "email": "guilak@linux.vnet.ibm.com",
        "time": "Thu Jul 10 09:38:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 10 10:13:51 2008 -0700"
      },
      "message": "kernel/kprobes.c: Made kprobe_blacklist static.\n\nSigned-off-by: Daniel Guilak \u003cdaniel@danielguilak.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67dddaad5d8b8c5ee5b96a7e2f6cb0faad703865",
      "tree": "373e5ba749f93e0f1617182f37aca08df5e8b243",
      "parents": [
        "24aac480e76c6f5d1391ac05c5e9c0eb9b0cd302"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Jun 12 15:21:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:40 2008 -0700"
      },
      "message": "kprobes: fix error checking of batch registration\n\nFix error checking routine to catch an error which occurs in first\n__register_*probe().\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\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"
    },
    {
      "commit": "26b31c1908e02a316edfba08080373342e662c14",
      "tree": "d9140d82ccc9ed3faa2062549d0e7471da9c9b29",
      "parents": [
        "4a296e07c3a410c09b9155da4c2fa84a07964f38"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_jprobes for batch registration\n\nIntroduce unregister_/register_jprobes() for jprobe batch registration.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a296e07c3a410c09b9155da4c2fa84a07964f38",
      "tree": "d6070555a2ddf026a7c8534689b425c0e931dcfe",
      "parents": [
        "9861668f747895608cea425f8457989d8dd2edf2"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_kretprobes for batch registration\n\nIntroduce unregister_/register_kretprobes() for kretprobe batch registration.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9861668f747895608cea425f8457989d8dd2edf2",
      "tree": "db5dad352826407afb549a8cfa44d4c66823af15",
      "parents": [
        "99602572812442d47403d85f376ad51298dd82a6"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_kprobes for batch registration\n\nIntroduce unregister_/register_kprobes() for kprobe batch registration.  This\ncan reduce waiting time for synchronized_sched() when a lot of probes have to\nbe unregistered at once.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d8d996e0ca5b4093203d3f050b0f70b5c949ae8",
      "tree": "2b19d3a47bf723c3bf6ff7c8a0d90078feaee08c",
      "parents": [
        "0341a4d0fdd2a0a3d9e2bb3a9afef9f8292c8502"
      ],
      "author": {
        "name": "Srinivasa Ds",
        "email": "srinivasa@in.ibm.com",
        "time": "Mon Apr 28 02:14:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: prevent probing of preempt_schedule()\n\nProhibit users from probing preempt_schedule().  One way of prohibiting the\nuser from probing functions is by marking such functions with __kprobes.  But\nthis method doesn\u0027t work for those functions, which are already marked to\ndifferent section like preempt_schedule() (belongs to __sched section).  So we\nuse blacklist approach to refuse user from probing these functions.\n\nIn blacklist approach we populate the blacklisted function\u0027s starting address\nand its size in kprobe_blacklist structure.  Then we verify the user specified\naddress against start and end of the blacklisted function.  So any attempt to\nregister probe on blacklisted functions will be rejected.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2a5cd6938879b5bcfef0a73c28fea84c49519c2",
      "tree": "e2039a9f7a4766dbea703c6ed32db881863efc1d",
      "parents": [
        "1913130553aa231644eb4e955b1a2c533fe33d17"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Mar 04 14:29:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:19 2008 -0800"
      },
      "message": "kprobes: fix a null pointer bug in register_kretprobe()\n\nFix a bug in regiseter_kretprobe() which does not check rp-\u003ekp.symbol_name \u003d\u003d\nNULL before calling kprobe_lookup_name.\n\nFor maintainability, this introduces kprobe_addr helper function which\nresolves addr field.  It is used by register_kprobe and register_kretprobe.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9edddaa200df18e08fe0cf21036e8ae467b1363c",
      "tree": "26f5319fac24fb6c76b1276b19725caeb5ec24bc",
      "parents": [
        "8182ec49a73729334f5a6c65a607ba7009ebd6d6"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue Mar 04 14:28:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:11 2008 -0800"
      },
      "message": "Kprobes: indicate kretprobe support in Kconfig\n\nAdd CONFIG_HAVE_KRETPROBES to the arch/\u003carch\u003e/Kconfig file for relevant\narchitectures with kprobes support.  This facilitates easy handling of\nin-kernel modules (like samples/kprobes/kretprobe_example.c) that depend on\nkretprobes being present in the kernel.\n\nThanks to Sam Ravnborg for helping make the patch more lean.\n\nPer Mathieu\u0027s suggestion, added CONFIG_KRETPROBES and fixed up dependencies.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f47cd9b553aaada602449204513b5a5b29cba263",
      "tree": "079ddd399b1aa00a8c413ef51f3b8681a19a6e7e",
      "parents": [
        "5beec4aa2ac261b0b4992fb41df40a7ab91e4fad"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Wed Feb 06 01:38:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:11 2008 -0800"
      },
      "message": "kprobes: kretprobe user entry-handler\n\nProvide support to add an optional user defined callback to be run at\nfunction entry of a kretprobe\u0027d function.  Also modify the kprobe smoke\ntests to include an entry-handler during the kretprobe sanity test.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\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\nAcked-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c1c9356429741a82ff176d0f3400fb9e06b2a30",
      "tree": "4daa7864163b77943e3d303c32a08672f443685e",
      "parents": [
        "3334052a321aca0ffecb54244d666311f98f5487"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Wed Jan 30 13:32:53 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:53 2008 +0100"
      },
      "message": "x86: kprobes: add kprobes smoke tests that run on boot\n\nHere is a quick and naive smoke test for kprobes. This is intended to\njust verify if some unrelated change broke the *probes subsystem. It is\nself contained, architecture agnostic and isn\u0027t of any great use by itself.\n\nThis needs to be built in the kernel and runs a basic set of tests to\nverify if kprobes, jprobes and kretprobes run fine on the kernel. In case\nof an error, it\u0027ll print out a message with a \"BUG\" prefix.\n\nThis is a start; we intend to add more tests to this bucket over time.\n\nThanks to Jim Keniston and Masami Hiramatsu for comments and suggestions.\n\nTested on x86 (32/64) and powerpc.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f438d914b220051d4cbc65cbc5d98e163c85c93b",
      "tree": "75e7fda155a8494595f6ae0539bbb64ef98230f6",
      "parents": [
        "49dce689ad4ef0fd1f970ef762168e4bd46f69a3"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 16 01:27:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:10 2007 -0700"
      },
      "message": "kprobes: support kretprobe blacklist\n\nIntroduce architecture dependent kretprobe blacklists to prohibit users\nfrom inserting return probes on the function in which kprobes can be\ninserted but kretprobes can not.\n\nThis patch also removes \"__kprobes\" mark from \"__switch_to\" on x86_64 and\nregisters \"__switch_to\" to the blacklist on x86-64, because that mark is to\nprohibit user from inserting only kretprobe.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: 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"
    },
    {
      "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"
    },
    {
      "commit": "cd5bfea278987ebfe60f3ff92a01696b17c4f978",
      "tree": "737764f3ab9588b7f00508a8b96160261d76d7ac",
      "parents": [
        "6ddfca9548d8ecc26096a30667423ba919109533"
      ],
      "author": {
        "name": "Peter Chubb",
        "email": "peterc@gelato.unsw.edu.au",
        "time": "Fri Aug 10 13:01:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:42 2007 -0700"
      },
      "message": "fix compilation with gcc 4.2\n\ngcc-4.2 is a lot more picky about its symbol handling.  EXPORT_SYMBOL no\nlonger works on symbols that are undefined or defined with static scope.\n\nFor example, with CONFIG_PROFILE off, I see:\n\n  kernel/profile.c:206: error: __ksymtab_profile_event_unregister causes a section type conflict\n  kernel/profile.c:205: error: __ksymtab_profile_event_register causes a section type conflict\n\nThis patch moves the EXPORTs inside the #ifdef CONFIG_PROFILE, so we\nonly try to export symbols that are defined.\n\nAlso, in kernel/kprobes.c there\u0027s an EXPORT_SYMBOL_GPL() for\njprobes_return, which if CONFIG_JPROBES is undefined is a static\ninline and gives the same error.\n\nAnd in drivers/acpi/resources/rsxface.c, there\u0027s an\nACPI_EXPORT_SYMBOPL() for a static symbol. If it\u0027s static, it\u0027s not\naccessible from outside the compilation unit, so should bot be exported.\n\nThese three changes allow building a zx1_defconfig kernel with gcc 4.2\non IA64.\n\n[akpm@linux-foundation.org: export jpobe_return properly]\nSigned-off-by: Peter Chubb \u003cpeterc@gelato.unsw.edu.au\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\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d7e33825d8799115dd2495c9944badd3272a623",
      "tree": "869eeefa9dd88c622db199f636cd1785c6099947",
      "parents": [
        "9e367d859297b9377d65574f538cf52730e9eda8"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Jul 19 01:48:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "jprobes: make jprobes a little safer for users\n\nI realise jprobes are a razor-blades-included type of interface, but that\ndoesn\u0027t mean we can\u0027t try and make them safer to use.  This guy I know once\nwrote code like this:\n\nstruct jprobe jp \u003d { .kp.symbol_name \u003d \"foo\", .entry \u003d \"jprobe_foo\" };\n\nAnd then his kernel exploded. Oops.\n\nThis patch adds an arch hook, arch_deref_entry_point() (I don\u0027t like it\neither) which takes the void * in a struct jprobe, and gives back the text\naddress that it represents.\n\nWe can then use that in register_jprobe() to check that the entry point we\u0027re\npassed is actually in the kernel text, rather than just some random value.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf8f6e5b3e51ee0c64c2d1350c70198ddc8ad3f7",
      "tree": "c48ebb92f836cfac58465eacc9658fbc2bac4783",
      "parents": [
        "4c4308cb93450989846ac49faeb6dab943e7657e"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue May 08 00:34:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "Kprobes: The ON/OFF knob thru debugfs\n\nThis patch provides a debugfs knob to turn kprobes on/off\n\no A new file /debug/kprobes/enabled indicates if kprobes is enabled or\n  not (default enabled)\no Echoing 0 to this file will disarm all installed probes\no Any new probe registration when disabled will register the probe but\n  not arm it. A message will be printed out in such a case.\no When a value 1 is echoed to the file, all probes (including ones\n  registered in the intervening period) will be enabled\no Unregistration will happen irrespective of whether probes are globally\n  enabled or not.\no Update Documentation/kprobes.txt to reflect these changes. While there\n  also update the doc to make it current.\n\nWe are also looking at providing sysrq key support to tie to the disabling\nfeature provided by this patch.\n\n[akpm@linux-foundation.org: Use bool like a bool!]\n[akpm@linux-foundation.org: add printk facility levels]\n[cornelia.huck@de.ibm.com: Add the missing arch_trampoline_kprobe() for s390]\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c4308cb93450989846ac49faeb6dab943e7657e",
      "tree": "c06092cae6f95a243cdd758d07491cf5fa24a1dd",
      "parents": [
        "6f716acd5fa20ae6a35ab29ae37fa9189e839ed5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:34:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "kprobes: kretprobes simplifications\n\n - consolidate duplicate code in all arch_prepare_kretprobe instances\n   into common code\n - replace various odd helpers that use hlist_for_each_entry to get\n   the first elemenet of a list with either a hlist_for_each_entry_save\n   or an opencoded access to the first element in the caller\n - inline add_rp_inst into it\u0027s only remaining caller\n - use kretprobe_inst_table_head instead of opencoding it\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: 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"
    },
    {
      "commit": "6f716acd5fa20ae6a35ab29ae37fa9189e839ed5",
      "tree": "abefdcd4a24de1879d1bafcf4c827d10db561bc8",
      "parents": [
        "b0bb501651b467096723dcfcf4565d910a2aadf8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:34:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "kprobes: codingstyle cleanups\n\nRemove superflous braces and fix indentation aswell as comments.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\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"
    },
    {
      "commit": "b0bb501651b467096723dcfcf4565d910a2aadf8",
      "tree": "ed7a6fef07dc5a942f04d403dbe0466301688306",
      "parents": [
        "41ac8df9d5b731a4dd8f1f4e5a9de6ef8768383d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:34:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "kprobes: use hlist_for_each_entry\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\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"
    },
    {
      "commit": "ffb45122766db220d0bf3d01848d575fbbcb6430",
      "tree": "a8fedf0518407ad12578a7c03aa2c3344f11ff3c",
      "parents": [
        "ea07890a680273b25127129fb555aac0d9324bea"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue May 08 00:28:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:08 2007 -0700"
      },
      "message": "Simplify kallsyms_lookup()\n\nSeveral kallsyms_lookup() pass dummy arguments but only need, say, module\u0027s\nname.  Make kallsyms_lookup() accept NULLs where possible.\n\nAlso, makes picture clearer about what interfaces are needed for all symbol\nresolving business.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eeb66a1bb973534dc3d064920a5ca683823372e",
      "tree": "19c22d611e6adefb352dbc107b859e4d13ba38c1",
      "parents": [
        "e3869792990f708c97be5877499cada70d469bd3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:27:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "move die notifier handling to common code\n\nThis patch moves the die notifier handling to common code.  Previous\nvarious architectures had exactly the same code for it.  Note that the new\ncode is compiled unconditionally, this should be understood as an appel to\nthe other architecture maintainer to implement support for it aswell (aka\nsprinkling a notify_die or two in the proper place)\n\narm had a notifiy_die that did something totally different, I renamed it to\narm_notify_die as part of the patch and made it static to the file it\u0027s\ndeclared and used at.  avr32 used to pass slightly less information through\nthis interface and I brought it into line with the other architectures.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix vmalloc_sync_all bustage]\n[bryan.wu@analog.com: fix vmalloc_sync_all in nommu]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "e3869792990f708c97be5877499cada70d469bd3"
}
