diff --git a/kernel/kprobes.c b/kernel/kprobes.c index f231d3f335a3336e6ef243e226d0dfc64f2c09eb..42dc9347da147948ae2af53bb6fbe1161d7236b8 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -2072,9 +2072,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); }