Commit 604b7e00 authored by Mao Minkai's avatar Mao Minkai Committed by guzitao
Browse files

sw64: fix incorrect gp after kretprobe triggered

Sunway inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I5XTM4



--------------------------------

SW64 use r26 to calculate gp after function return, so r26 needs to be
restored when kretprobe trampoline is hit.

Signed-off-by: default avatarMao Minkai <maominkai@wxiat.com>
Reviewed-by: default avatarHe Sheng <hesheng@wxiat.com>
Signed-off-by: default avatarGu Zitao <guzitao@wxiat.com>
parent 7c80a502
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -284,6 +284,7 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,

	orig_ret_address = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
	instruction_pointer(regs) = orig_ret_address;
	regs->r26 = orig_ret_address;

	/*
	 * By returning a non-zero value, we are telling