diff for duplicates of <20050616223306.401011000@linux.jf.intel.com> diff --git a/a/1.txt b/N1/1.txt index 8c9e6e6..2b297e4 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -7,7 +7,8 @@ signed-off-by: Rusty Lynch <Rusty.lynch@intel.com> 1 files changed, 68 insertions(+), 62 deletions(-) Index: linux-2.6.12-rc6-mm1/arch/i386/kernel/kprobes.c -=================================--- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/kprobes.c +=================================================================== +--- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/kprobes.c +++ linux-2.6.12-rc6-mm1/arch/i386/kernel/kprobes.c @@ -127,48 +127,23 @@ static inline void prepare_singlestep(st regs->eip = (unsigned long)&p->ainsn.insn; @@ -56,7 +57,8 @@ Index: linux-2.6.12-rc6-mm1/arch/i386/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); @@ -80,7 +82,7 @@ Index: linux-2.6.12-rc6-mm1/arch/i386/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); - } @@ -137,7 +139,7 @@ Index: linux-2.6.12-rc6-mm1/arch/i386/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->eip = orig_ret_address; + + unlock_kprobes(); diff --git a/a/content_digest b/N1/content_digest index d7ef71a..e7a16e2 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 2/5] [kprobes] Tweak to the function return probe design - take 2\0" - "Date\0Thu, 16 Jun 2005 22:31:41 +0000\0" + "Date\0Thu, 16 Jun 2005 15:31:41 -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-i386.patch\0" "b\0" "The following patch contains the i386 specific changes for the new\n" "return probe design.\n" @@ -22,7 +23,8 @@ " 1 files changed, 68 insertions(+), 62 deletions(-)\n" "\n" "Index: linux-2.6.12-rc6-mm1/arch/i386/kernel/kprobes.c\n" - "=================================--- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/kprobes.c\n" + "===================================================================\n" + "--- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/kprobes.c\n" "+++ linux-2.6.12-rc6-mm1/arch/i386/kernel/kprobes.c\n" "@@ -127,48 +127,23 @@ static inline void prepare_singlestep(st\n" " \t\tregs->eip = (unsigned long)&p->ainsn.insn;\n" @@ -71,7 +73,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" @@ -95,7 +98,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" @@ -152,7 +155,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->eip = orig_ret_address;\n" "+\n" "+\tunlock_kprobes();\n" @@ -194,4 +197,4 @@ "\n" -- -d6c71e8e8c52f2dbc589da390d30710c5ffe5d0eec5d629499acda4e4b0fdc7e +6f08696183879364698c3b8efab5cd242f4c7f7fb73a46a1581c94f4c13ac11a
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.