summaryrefslogtreecommitdiffstats
path: root/drivers/perf
diff options
context:
space:
mode:
authorDavid A. Long <dave.long@linaro.org>2016-09-12 14:21:27 -0400
committerWill Deacon <will.deacon@arm.com>2016-09-15 08:33:46 +0100
commit3e593f66754def77fa3433c595f941f1defe4af1 (patch)
treeb7720aa433293cdefb7bd457512a7c6a51e0e105 /drivers/perf
parente506236a7b8140d73b35fee80f7e38c794dd931d (diff)
downloadlinux-stable-3e593f66754def77fa3433c595f941f1defe4af1.tar.gz
linux-stable-3e593f66754def77fa3433c595f941f1defe4af1.tar.bz2
linux-stable-3e593f66754def77fa3433c595f941f1defe4af1.zip
arm64: Improve kprobes test for atomic sequence
Kprobes searches backwards a finite number of instructions to determine if there is an attempt to probe a load/store exclusive sequence. It stops when it hits the maximum number of instructions or a load or store exclusive. However this means it can run up past the beginning of the function and start looking at literal constants. This has been shown to cause a false positive and blocks insertion of the probe. To fix this, further limit the backwards search to stop if it hits a symbol address from kallsyms. The presumption is that this is the entry point to this code (particularly for the common case of placing probes at the beginning of functions). This also improves efficiency by not searching code that is not part of the function. There may be some possibility that the label might not denote the entry path to the probed instruction but the likelihood seems low and this is just another example of how the kprobes user really needs to be careful about what they are doing. Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Signed-off-by: David A. Long <dave.long@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/perf')
0 files changed, 0 insertions, 0 deletions