exercising current aarch64 kprobe support with systemtap

David Long dave.long@linaro.org
Fri Jun 10 05:49:00 GMT 2016


Attached are incremental diffs I hope will fix the latest systemtap 
failures, without abandoning atomic sequence checking.  I'm trying to 
avoid the hex constants but I don't think the insn.c functions help in 
this case.

-dl

-------------- next part --------------
diff --git a/arch/arm64/kernel/kprobes-arm64.c b/arch/arm64/kernel/kprobes-arm64.c
index 28b9c5b..36b4ea5 100644
--- a/arch/arm64/kernel/kprobes-arm64.c
+++ b/arch/arm64/kernel/kprobes-arm64.c
@@ -127,7 +127,9 @@ is_probed_address_atomic(kprobe_opcode_t *scan_start, kprobe_opcode_t *scan_end)
 		 * atomic region starts from exclusive load and ends with
 		 * exclusive store.
 		 */
-		if (aarch64_insn_is_store_ex(le32_to_cpu(*scan_start)))
+		if ((le32_to_cpu(*scan_start) & 0xffc07fff) == 0xa9807bfd)
+			return false;
+		else if (aarch64_insn_is_store_ex(le32_to_cpu(*scan_start)))
 			return false;
 		else if (aarch64_insn_is_load_ex(le32_to_cpu(*scan_start)))
 			return true;


More information about the Systemtap mailing list