MIPS: uprobes: Restore thread.trap_nr
authorTiezhu Yang <yangtiezhu@loongson.cn>
Sun, 23 Apr 2023 01:38:03 +0000 (09:38 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Mon, 24 Apr 2023 11:31:44 +0000 (13:31 +0200)
thread.trap_nr is saved in arch_uprobe_pre_xol(), it should be restored
in arch_uprobe_{post,abort}_xol() accordingly, actually it was only done
in the post function, just do it in the abort function too, this change
is similar with x86 and powerpc.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/kernel/uprobes.c

index 6b630ed4438d3d53571ccc00a90d101266d914e3..401b148f89179d8f755f0b282be0f576311b39d8 100644 (file)
@@ -191,6 +191,7 @@ void arch_uprobe_abort_xol(struct arch_uprobe *aup,
 {
        struct uprobe_task *utask = current->utask;
 
+       current->thread.trap_nr = utask->autask.saved_trap_nr;
        instruction_pointer_set(regs, utask->vaddr);
 }