[PATCH v5 4/6] arm64: kprobes instruction simulation support
From: David Long <hidden>
Date: 2015-03-06 14:43:10
Also in:
lkml
On 03/06/15 06:39, Steve Capper wrote:
On 17 February 2015 at 23:11, David Long [off-list ref] wrote:quoted
From: Sandeepa Prabhu <redacted> Kprobes needs simulation of instructions that cannot be stepped from different memory location, e.g.: those instructions that uses PC-relative addressing. In simulation, the behaviour of the instruction is implemented using a copy of pt_regs. Following instruction catagories are simulated: - All branching instructions(conditional, register, and immediate) - Literal access instructions(load-literal, adr/adrp) Conditional execution is limited to branching instructions in ARM v8. If conditions at PSTATE do not match the condition fields of opcode, the instruction is effectively NOP. Kprobes considers this case as 'miss'. Thanks to Will Cohen for assorted suggested changes. Signed-off-by: Sandeepa Prabhu <redacted> Signed-off-by: William Cohen <redacted> Signed-off-by: David A. Long <redacted> ---Hi, Apologies for looking at these late (I was on holiday). I've applied this series on top of 3.19, but I get the following compile error: arch/arm64/kernel/kprobes-arm64.c:23:34: fatal error: probes-simulate-insn.h: No such file or directory #include "probes-simulate-insn.h" ^ compilation terminated. scripts/Makefile.build:257: recipe for target 'arch/arm64/kernel/kprobes-arm64.o' failed Is something missing from this patch? Cheers, -- Steve
Yes Steve, the patch is missing three new files. It passed my testing because I had not cleaned out non-checked-in files from my cloned repo. I've put a preliminary version of a v6 patch that addresses other feedback in my own public repo, and will send out a new patch in the near future after more testing and additional tweaks. -dl