Subject: [PATCH 3/3] uprobes/powerpc: ignore trap variants during register

From: Ananth N Mavinakayanahalli <[email-masked]>
Date: Fri, 22 Mar 2013 17:16:24 +0530

From: Ananth N Mavinakayanahalli <[email-masked]>

The current implementation of uprobes assumes that uprobes always wins
even when a register request is at a location with a conditional
breakpoint by some other entity. Refer to [1] for more details.

Remove the breakpoint instruction check during registration on powerpc,
so that uprobes behavior on powerpc matches that of x86.

[1] https://lists.ozlabs.org/pipermail/linuxppc-dev/2013-March/104771.html

Signed-off-by: Ananth N Mavinakayanahalli <[email-masked]>
---
 arch/powerpc/kernel/uprobes.c |    6 ------
 1 file changed, 6 deletions(-)

Index: linux-3.9-rc3/arch/powerpc/kernel/uprobes.c
===================================================================
--- linux-3.9-rc3.orig/arch/powerpc/kernel/uprobes.c
+++ linux-3.9-rc3/arch/powerpc/kernel/uprobes.c
@@ -53,12 +53,6 @@ int arch_uprobe_analyze_insn(struct arch
 	if (addr & 0x03)
 		return -EINVAL;
 
-	/*
-	 * We currently don't support a uprobe on an already
-	 * existing breakpoint instruction underneath
-	 */
-	if (is_trap(auprobe->ainsn))
-		return -ENOTSUPP;
 	return 0;
 }