summaryrefslogtreecommitdiffstats
path: root/arch/x86/lib/cmpxchg8b_emu.S
diff options
context:
space:
mode:
authorEugene Shatokhin <eugene.shatokhin@rosalab.ru>2015-03-17 19:09:18 +0900
committerIngo Molnar <mingo@kernel.org>2015-03-17 14:00:38 +0100
commitc80e5c0c23ce2282476fdc64c4b5e3d3a40723fd (patch)
tree056afab9efce2ce76166abb5d6ba177d62e0ebb0 /arch/x86/lib/cmpxchg8b_emu.S
parent107eb964d8c04417e8bce9e9ec2ed61d9261aec6 (diff)
downloadop-kernel-dev-c80e5c0c23ce2282476fdc64c4b5e3d3a40723fd.zip
op-kernel-dev-c80e5c0c23ce2282476fdc64c4b5e3d3a40723fd.tar.gz
kprobes/x86: Return correct length in __copy_instruction()
On x86-64, __copy_instruction() always returns 0 (error) if the instruction uses %rip-relative addressing. This is because kernel_insn_init() is called the second time for 'insn' instance in such cases and sets all its fields to 0. Because of this, trying to place a kprobe on such instruction will fail, register_kprobe() will return -EINVAL. This patch fixes the problem. Signed-off-by: Eugene Shatokhin <eugene.shatokhin@rosalab.ru> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Link: http://lkml.kernel.org/r/20150317100918.28349.94654.stgit@localhost.localdomain Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/lib/cmpxchg8b_emu.S')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud