diff --git a/kernel/kprobes.c b/kernel/kprobes.c index 5244ceb5131d3f412d7b3340d5a2c8f2157e9cbf..182fc95feb72de28a91a1b48a74bee279e938e43 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -2105,9 +2105,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); }