diff for duplicates of <20050621205406.001318000@linux.jf.intel.com> diff --git a/a/1.txt b/N1/1.txt index 3dd62e2..862fbcf 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -18,7 +18,8 @@ signed-off-by: Rusty Lynch <rusty.lynch@intel.com> 1 files changed, 69 insertions(+), 62 deletions(-) Index: linux-2.6.12-mm1/arch/x86_64/kernel/kprobes.c -=================================--- linux-2.6.12-mm1.orig/arch/x86_64/kernel/kprobes.c +=================================================================== +--- linux-2.6.12-mm1.orig/arch/x86_64/kernel/kprobes.c +++ linux-2.6.12-mm1/arch/x86_64/kernel/kprobes.c @@ -274,48 +274,23 @@ static void prepare_singlestep(struct kp regs->rip = (unsigned long)p->ainsn.insn; @@ -67,7 +68,8 @@ Index: linux-2.6.12-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); @@ -91,7 +93,7 @@ Index: linux-2.6.12-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); - } @@ -148,7 +150,7 @@ Index: linux-2.6.12-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 2ef2091..758109c 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\020050621205343.548977000@linux.jf.intel.com\0" "From\0Rusty Lynch <rusty.lynch@intel.com>\0" "Subject\0[patch 3/5] Return probe redesign: x86_64 specific changes\0" - "Date\0Tue, 21 Jun 2005 20:53:46 +0000\0" + "Date\0Tue, 21 Jun 2005 13:53:46 -0700\0" "To\0akpm@osdl.org\0" "Cc\0linux-kernel@vger.kernel.org" linuxppc64-dev@ozlabs.org @@ -9,6 +9,7 @@ Andi Kleen <ak@suse.de> " Rusty Lynch <rusty.lynch@intel.com>\0" "\00:1\0" + "fn\0kprobes-return-probes-redux-x86_64.patch\0" "b\0" "The following patch contains the x86_64 specific changes for the new\n" "return probe design. Changes include:\n" @@ -30,7 +31,8 @@ " 1 files changed, 69 insertions(+), 62 deletions(-)\n" "\n" "Index: linux-2.6.12-mm1/arch/x86_64/kernel/kprobes.c\n" - "=================================--- linux-2.6.12-mm1.orig/arch/x86_64/kernel/kprobes.c\n" + "===================================================================\n" + "--- linux-2.6.12-mm1.orig/arch/x86_64/kernel/kprobes.c\n" "+++ linux-2.6.12-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" @@ -79,7 +81,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" @@ -103,7 +106,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" @@ -160,7 +163,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" @@ -202,4 +205,4 @@ "\n" -- -89d515a78d10570d837daac31c3ab02bbffe277256f57e397929163b0b1cd7d0 +d260b2a1b4042921b7932482633354c28e311ca72a414a2bc4b4a1ddd3566801
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.