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