Skip to content

Commit 09bc20c

Browse files
author
Vasily Gorbik
committed
s390/kprobes: enable kretprobes framepointer verification
Use regs->gprs[15] for framepointer verification. This enables additional sanity checks for nested kretprobes. Reviewed-by: Tobias Huschle <huschle@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
1 parent 0b45252 commit 09bc20c

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

arch/s390/kernel/kprobes.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -284,11 +284,11 @@ NOKPROBE_SYMBOL(pop_kprobe);
284284

285285
void arch_prepare_kretprobe(struct kretprobe_instance *ri, struct pt_regs *regs)
286286
{
287-
ri->ret_addr = (kprobe_opcode_t *) regs->gprs[14];
288-
ri->fp = NULL;
287+
ri->ret_addr = (kprobe_opcode_t *)regs->gprs[14];
288+
ri->fp = (void *)regs->gprs[15];
289289

290290
/* Replace the return addr with trampoline addr */
291-
regs->gprs[14] = (unsigned long) &__kretprobe_trampoline;
291+
regs->gprs[14] = (unsigned long)&__kretprobe_trampoline;
292292
}
293293
NOKPROBE_SYMBOL(arch_prepare_kretprobe);
294294

@@ -385,7 +385,7 @@ NOKPROBE_SYMBOL(arch_kretprobe_fixup_return);
385385
*/
386386
void trampoline_probe_handler(struct pt_regs *regs)
387387
{
388-
kretprobe_trampoline_handler(regs, NULL);
388+
kretprobe_trampoline_handler(regs, (void *)regs->gprs[15]);
389389
}
390390
NOKPROBE_SYMBOL(trampoline_probe_handler);
391391

0 commit comments

Comments
 (0)