Messages in this thread Patch in this message | | | Date | Mon, 10 Jan 2005 22:19:37 +1100 | From | Anton Blanchard <> | Subject | [PATCH] ppc64: kprobes breaks BUG() handling |
| |
Hi,
I was running some tests and noticed BUG() handling wasnt working as expected. The kprobes code has some code to check for breakpoint removal races and only checks for one opcode. It turns out there are many forms of the breakpoint instruction, comparing against one is not good enough.
For the momemt remove the code in question so BUG()s work again and we can discuss a better solution (I thought kprobes was emulating instructions or running them out of line).
Anton
Signed-off-by: Anton Blanchard <anton@samba.org>
diff -puN arch/ppc64/kernel/kprobes.c~fix_breakage arch/ppc64/kernel/kprobes.c --- foobar2/arch/ppc64/kernel/kprobes.c~fix_breakage 2005-01-10 21:41:43.157624895 +1100 +++ foobar2-anton/arch/ppc64/kernel/kprobes.c 2005-01-10 21:42:04.560169990 +1100 @@ -99,6 +99,7 @@ static inline int kprobe_handler(struct p = get_kprobe(addr); if (!p) { unlock_kprobes(); +#if 0 if (*addr != BREAKPOINT_INSTRUCTION) { /* * The breakpoint instruction was removed right @@ -109,6 +110,7 @@ static inline int kprobe_handler(struct */ ret = 1; } +#endif /* Not one of ours: let kernel handle it */ goto no_kprobe; } _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |