Loading arch/x86/kernel/kprobes_32.c +1 −6 Original line number Diff line number Diff line Loading @@ -564,12 +564,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) resume_execution(cur, regs, kcb); regs->eflags |= kcb->kprobe_saved_eflags; #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT if (raw_irqs_disabled_flags(regs->eflags)) trace_hardirqs_off(); else trace_hardirqs_on(); #endif trace_hardirqs_fixup_flags(regs->eflags); /*Restore back the original saved kprobes variables and continue. */ if (kcb->kprobe_status == KPROBE_REENTER) { Loading arch/x86/kernel/kprobes_64.c +1 −6 Original line number Diff line number Diff line Loading @@ -551,12 +551,7 @@ int __kprobes post_kprobe_handler(struct pt_regs *regs) resume_execution(cur, regs, kcb); regs->eflags |= kcb->kprobe_saved_rflags; #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT if (raw_irqs_disabled_flags(regs->eflags)) trace_hardirqs_off(); else trace_hardirqs_on(); #endif trace_hardirqs_fixup_flags(regs->eflags); /* Restore the original saved kprobes variables and continue. */ if (kcb->kprobe_status == KPROBE_REENTER) { Loading arch/x86/kernel/traps_32.c +2 −0 Original line number Diff line number Diff line Loading @@ -789,6 +789,8 @@ void restart_nmi(void) #ifdef CONFIG_KPROBES fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code) { trace_hardirqs_fixup(); if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) == NOTIFY_STOP) return; Loading arch/x86/kernel/traps_64.c +2 −0 Original line number Diff line number Diff line Loading @@ -807,6 +807,8 @@ asmlinkage __kprobes void default_do_nmi(struct pt_regs *regs) /* runs on IST stack. */ asmlinkage void __kprobes do_int3(struct pt_regs * regs, long error_code) { trace_hardirqs_fixup(); if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) == NOTIFY_STOP) { return; } Loading arch/x86/mm/fault_32.c +5 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,11 @@ fastcall void __kprobes do_page_fault(struct pt_regs *regs, int write, si_code; int fault; /* * We can fault from pretty much anywhere, with unknown IRQ state. */ trace_hardirqs_fixup(); /* get the address */ address = read_cr2(); Loading Loading
arch/x86/kernel/kprobes_32.c +1 −6 Original line number Diff line number Diff line Loading @@ -564,12 +564,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) resume_execution(cur, regs, kcb); regs->eflags |= kcb->kprobe_saved_eflags; #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT if (raw_irqs_disabled_flags(regs->eflags)) trace_hardirqs_off(); else trace_hardirqs_on(); #endif trace_hardirqs_fixup_flags(regs->eflags); /*Restore back the original saved kprobes variables and continue. */ if (kcb->kprobe_status == KPROBE_REENTER) { Loading
arch/x86/kernel/kprobes_64.c +1 −6 Original line number Diff line number Diff line Loading @@ -551,12 +551,7 @@ int __kprobes post_kprobe_handler(struct pt_regs *regs) resume_execution(cur, regs, kcb); regs->eflags |= kcb->kprobe_saved_rflags; #ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT if (raw_irqs_disabled_flags(regs->eflags)) trace_hardirqs_off(); else trace_hardirqs_on(); #endif trace_hardirqs_fixup_flags(regs->eflags); /* Restore the original saved kprobes variables and continue. */ if (kcb->kprobe_status == KPROBE_REENTER) { Loading
arch/x86/kernel/traps_32.c +2 −0 Original line number Diff line number Diff line Loading @@ -789,6 +789,8 @@ void restart_nmi(void) #ifdef CONFIG_KPROBES fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code) { trace_hardirqs_fixup(); if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) == NOTIFY_STOP) return; Loading
arch/x86/kernel/traps_64.c +2 −0 Original line number Diff line number Diff line Loading @@ -807,6 +807,8 @@ asmlinkage __kprobes void default_do_nmi(struct pt_regs *regs) /* runs on IST stack. */ asmlinkage void __kprobes do_int3(struct pt_regs * regs, long error_code) { trace_hardirqs_fixup(); if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) == NOTIFY_STOP) { return; } Loading
arch/x86/mm/fault_32.c +5 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,11 @@ fastcall void __kprobes do_page_fault(struct pt_regs *regs, int write, si_code; int fault; /* * We can fault from pretty much anywhere, with unknown IRQ state. */ trace_hardirqs_fixup(); /* get the address */ address = read_cr2(); Loading