summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/kprobes.h
diff options
context:
space:
mode:
authorJon Medhurst <tixy@yxit.co.uk>2011-06-16 15:54:00 +0100
committerTixy <tixy@medhuaa1.miniserver.com>2011-07-13 17:32:42 +0000
commit3cca6c243568d355c1ccecaaa71bf490f014d729 (patch)
tree8d9a78c0090c59316401c173895dc58b458e9f09 /arch/arm/kernel/kprobes.h
parent6aaa8b5570c7b5b9eb8913ec80263a1012b1dd66 (diff)
ARM: kprobes: Don't trigger probes on conditional instructions when condition is false
This patch changes the behavior of kprobes on ARM so that: Kprobes on conditional instructions don't trigger when the condition is false. For conditional branches, this means that they don't trigger in the branch not taken case. Rationale: When probes are placed onto conditionally executed instructions in a Thumb IT block, they may not fire if the condition is not met. This is because we use invalid instructions for breakpoints and "it is IMPLEMENTATION DEFINED whether the instruction executes as a NOP or causes an Undefined Instruction exception". Therefore, for consistency, we will ignore all probes on any conditional instructions when the condition is false. Alternative solutions seem to be too complex to implement or inconsistent. This issue was discussed on linux.arm.kernel in the thread titled "[RFC] kprobes with thumb2 conditional code" See http://comments.gmane.org/gmane.linux.linaro.devel/2985 Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch/arm/kernel/kprobes.h')
0 files changed, 0 insertions, 0 deletions