Lines Matching refs:instruction
30 on virtually any instruction in the kernel. A jprobe is inserted at
58 instruction and replaces the first byte(s) of the probed instruction
59 with a breakpoint instruction (e.g., int3 on i386 and x86_64).
61 When a CPU hits the breakpoint instruction, a trap occurs, the CPU's
67 Next, Kprobes single-steps its copy of the probed instruction.
68 (It would be simpler to single-step the actual instruction in place,
70 instruction. This would open a small time window when another CPU
73 After the instruction is single-stepped, Kprobes executes the
75 Execution then continues with the instruction following the probepoint.
88 Kprobes then points the saved instruction pointer at the jprobe's
113 is an arbitrary piece of code -- typically just a nop instruction.
116 When the probed function executes its return instruction, control
119 kretprobe, then sets the saved instruction pointer to the saved return
172 instruction instead of a breakpoint instruction at each probepoint.
186 instruction (the "optimized region") lies entirely within one function.
187 (A jump instruction is multiple bytes, and so may overlay multiple
193 - the function contains no instruction that causes an exception (since
200 - For each instruction in the optimized region, Kprobes verifies that
201 the instruction can be executed out of line.
206 instruction sequence:
228 Kprobes returns control to the original instruction path by setting
229 the CPU's instruction pointer to the copied code in the detour buffer
234 The Kprobe-optimizer doesn't insert the jump instruction immediately;
243 the optimized region with a jump instruction to the detour buffer,
255 (*)Please imagine that the 2nd instruction is interrupted and then
256 the optimizer replaces the 2nd instruction with the jump *address*
258 returns to original address, there is no valid instruction,
284 - ia64 (Does not support probes on instruction slot1.)
324 hit, Kprobes calls kp->pre_handler. After the probed instruction
327 or during single-stepping of the probed instruction, Kprobes calls
350 does not validate if the kprobe.addr is at an instruction boundary.
389 of the first instruction of a function. When the breakpoint is hit,
576 explain it, we introduce some terminology. Imagine a 3-instruction
578 instruction.
596 a 5-byte jump instruction. So there are several limitations.
599 b) The instructions in DCR must not include a call instruction.
600 c) JTPR must not be targeted by any jump or call instruction.
603 Anyway, these limitations are checked by the in-kernel instruction