Re: [RESEND PATCH] ARM: Recover kretprobes return address for EABI stack unwinder

From: Chen Zhongjin
Date: Mon Aug 22 2022 - 10:43:24 EST


On 2022/8/22 19:20, Linus Walleij wrote:
On Mon, Aug 15, 2022 at 1:06 PM Chen Zhongjin <chenzhongjin@xxxxxxxxxx> wrote:

'fed240d9c974 ("ARM: Recover kretprobe modified return address in stacktrace")'
has implemented kretprobes return address recovery for FP
unwinder, this patch makes it works for EABI unwinder.

It saves __kretprobe_trampoline address in LR on stack to identify
and recover the correct return address in EABI unwinder.

Since EABI doesn't use r11 as frame pointer, we need to use SP to
identify different kretprobes addresses. Here the value of SP has fixed
distance to conventional FP position so it's fine to use it.

Passed kunit kprobes_test on QEMU.

Signed-off-by: Chen Zhongjin <chenzhongjin@xxxxxxxxxx>
This looks correct to me FWIW I understand the assembly
but I'm vaguely unfamiliar with the kprobe API, but anyway:
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Would you please drop it into Russell's patch tracker?

Done for it.

Thanks for review!


Best,

Chen

Yours,
Linus Walleij