]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - arch/mips/kernel/kprobes.c
bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe
[mirror_ubuntu-jammy-kernel.git] / arch / mips / kernel / kprobes.c
index 7fd277bc59b944d6f327ae7544193d342dff8f5a..54cd675c5d1d474153f1d3c6b265bdc1c194b378 100644 (file)
@@ -358,6 +358,8 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
 
        if (p->pre_handler && p->pre_handler(p, regs)) {
                /* handler has already set things up, so skip ss setup */
+               reset_current_kprobe();
+               preempt_enable_no_resched();
                return 1;
        }
 
@@ -543,9 +545,7 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,
        kretprobe_assert(ri, orig_ret_address, trampoline_address);
        instruction_pointer(regs) = orig_ret_address;
 
-       reset_current_kprobe();
        kretprobe_hash_unlock(current, &flags);
-       preempt_enable_no_resched();
 
        hlist_for_each_entry_safe(ri, tmp, &empty_rp, hlist) {
                hlist_del(&ri->hlist);