diff for duplicates of <20050616223306.883491000@linux.jf.intel.com> diff --git a/a/1.txt b/N1/1.txt index b8e60c3..f7e3b6f 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -10,7 +10,8 @@ signed-off-by: Rusty Lynch <Rusty.lynch@intel.com> 1 files changed, 69 insertions(+), 62 deletions(-) Index: linux-2.6.12-rc6-mm1/arch/x86_64/kernel/kprobes.c -=================================--- linux-2.6.12-rc6-mm1.orig/arch/x86_64/kernel/kprobes.c +=================================================================== +--- linux-2.6.12-rc6-mm1.orig/arch/x86_64/kernel/kprobes.c +++ linux-2.6.12-rc6-mm1/arch/x86_64/kernel/kprobes.c @@ -274,48 +274,23 @@ static void prepare_singlestep(struct kp regs->rip = (unsigned long)p->ainsn.insn; @@ -59,7 +60,8 @@ Index: linux-2.6.12-rc6-mm1/arch/x86_64/kernel/kprobes.c -{ - struct kretprobe_instance *ri; - while ((ri = get_rp_inst_tsk(tk)) != NULL) { -- *((unsigned long *)(ri->stack_addr)) - (unsigned long) ri->ret_addr; +- *((unsigned long *)(ri->stack_addr)) = +- (unsigned long) ri->ret_addr; - recycle_rp_inst(ri); - } + add_rp_inst(ri); @@ -83,7 +85,7 @@ Index: linux-2.6.12-rc6-mm1/arch/x86_64/kernel/kprobes.c - head = kretprobe_inst_table_head(tsk); - - hlist_for_each_entry(ri, node, head, hlist) { -- if (ri->stack_addr = sara && ri->rp) { +- if (ri->stack_addr == sara && ri->rp) { - if (ri->rp->handler) - ri->rp->handler(ri, regs); - } @@ -140,7 +142,7 @@ Index: linux-2.6.12-rc6-mm1/arch/x86_64/kernel/kprobes.c } - regs->eflags &= ~TF_MASK; + -+ BUG_ON(!orig_ret_address || (orig_ret_address = trampoline_address)); ++ BUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address)); + regs->rip = orig_ret_address; + + unlock_kprobes(); diff --git a/a/content_digest b/N1/content_digest index 1d5b939..b08b936 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\020050616223139.444305000@linux.jf.intel.com\0" "From\0rusty.lynch@intel.com\0" "Subject\0[patch 3/5] [kprobes] Tweak to the function return probe design - take 2\0" - "Date\0Thu, 16 Jun 2005 22:31:42 +0000\0" + "Date\0Thu, 16 Jun 2005 15:31:42 -0700\0" "To\0akpm@osdl.org\0" "Cc\0systemtap@sources.redhat.com" linux-ia64@vger.kernel.org @@ -12,6 +12,7 @@ Ananth N Mavinakayanahalli <amavin@redhat.com> " linuxppc64-dev@ozlabs.org\0" "\00:1\0" + "fn\0kprobes-return-probes-redux-x86_64.patch\0" "b\0" "The following provides the x86_64 specific changes for the new\n" "return probe design. Note that with this new design, the dependency\n" @@ -25,7 +26,8 @@ " 1 files changed, 69 insertions(+), 62 deletions(-)\n" "\n" "Index: linux-2.6.12-rc6-mm1/arch/x86_64/kernel/kprobes.c\n" - "=================================--- linux-2.6.12-rc6-mm1.orig/arch/x86_64/kernel/kprobes.c\n" + "===================================================================\n" + "--- linux-2.6.12-rc6-mm1.orig/arch/x86_64/kernel/kprobes.c\n" "+++ linux-2.6.12-rc6-mm1/arch/x86_64/kernel/kprobes.c\n" "@@ -274,48 +274,23 @@ static void prepare_singlestep(struct kp\n" " \t\tregs->rip = (unsigned long)p->ainsn.insn;\n" @@ -74,7 +76,8 @@ "-{\n" "-\tstruct kretprobe_instance *ri;\n" "-\twhile ((ri = get_rp_inst_tsk(tk)) != NULL) {\n" - "-\t\t*((unsigned long *)(ri->stack_addr)) -\t\t\t\t\t(unsigned long) ri->ret_addr;\n" + "-\t\t*((unsigned long *)(ri->stack_addr)) =\n" + "-\t\t\t\t\t(unsigned long) ri->ret_addr;\n" "-\t\trecycle_rp_inst(ri);\n" "-\t}\n" "+ add_rp_inst(ri);\n" @@ -98,7 +101,7 @@ "-\thead = kretprobe_inst_table_head(tsk);\n" "-\n" "-\thlist_for_each_entry(ri, node, head, hlist) {\n" - "-\t\tif (ri->stack_addr = sara && ri->rp) {\n" + "-\t\tif (ri->stack_addr == sara && ri->rp) {\n" "-\t\t\tif (ri->rp->handler)\n" "-\t\t\t\tri->rp->handler(ri, regs);\n" "-\t\t}\n" @@ -155,7 +158,7 @@ " \t}\n" "-\tregs->eflags &= ~TF_MASK;\n" "+\n" - "+\tBUG_ON(!orig_ret_address || (orig_ret_address = trampoline_address));\n" + "+\tBUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address));\n" "+\tregs->rip = orig_ret_address;\n" "+\n" "+\tunlock_kprobes();\n" @@ -197,4 +200,4 @@ "\n" -- -9cc44b751ada8c622cf2be4579ade521622322bcd0335e45111830bbd97cc309 +30d429ee3caff03e66c50c324cbdbe9deb3640719552dc561d5cf479d1e3f5f5
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.