diff --git a/kernel/kprobes.c b/kernel/kprobes.c index a264246ff85aa7..e5dc8330651b65 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -2130,9 +2130,10 @@ static void kill_kprobe(struct kprobe *p) /* * The module is going away. We should disarm the kprobe which - * is using ftrace. + * is using ftrace, because ftrace framework is still available at + * MODULE_STATE_GOING notification. */ - if (kprobe_ftrace(p)) + if (kprobe_ftrace(p) && !kprobe_disabled(p) && !kprobes_all_disarmed) disarm_kprobe_ftrace(p); }