aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2014-09-07 13:00:01 +0200
committerIngo Molnar <mingo@kernel.org>2014-09-07 13:00:01 +0200
commit59a5962fc722f494ca938d2bd4aed414403ae3d9 (patch)
tree6b71f5566a568e791570dfaf337bd36ade1ba166
parent33ed775bde457c006aa5c218ff9ad2253cf9d5bf (diff)
parent256aae5eac6d328067d1a986a7c5df6f19bdc8b4 (diff)
downloadtip-59a5962fc722f494ca938d2bd4aed414403ae3d9.tar.gz
Merge branch 'perf/urgent'
-rw-r--r--arch/x86/kernel/kprobes/opt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kernel/kprobes/opt.c b/arch/x86/kernel/kprobes/opt.c
index f304773285ae36..f1314d0bcf0ab6 100644
--- a/arch/x86/kernel/kprobes/opt.c
+++ b/arch/x86/kernel/kprobes/opt.c
@@ -338,8 +338,10 @@ int arch_prepare_optimized_kprobe(struct optimized_kprobe *op)
* a relative jump.
*/
rel = (long)op->optinsn.insn - (long)op->kp.addr + RELATIVEJUMP_SIZE;
- if (abs(rel) > 0x7fffffff)
+ if (abs(rel) > 0x7fffffff) {
+ __arch_remove_optimized_kprobe(op, 0);
return -ERANGE;
+ }
buf = (u8 *)op->optinsn.insn;