We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 8cb732a commit 8847468Copy full SHA for 8847468
kernel/kprobes.c
@@ -1616,12 +1616,14 @@ static struct kprobe *__disable_kprobe(struct kprobe *p)
1616
/* Try to disarm and disable this/parent probe */
1617
if (p == orig_p || aggr_kprobe_disabled(orig_p)) {
1618
/*
1619
- * If kprobes_all_disarmed is set, orig_p
1620
- * should have already been disarmed, so
1621
- * skip unneed disarming process.
+ * Don't be lazy here. Even if 'kprobes_all_disarmed'
+ * is false, 'orig_p' might not have been armed yet.
+ * Note arm_all_kprobes() __tries__ to arm all kprobes
1622
+ * on the best effort basis.
1623
*/
- if (!kprobes_all_disarmed)
1624
+ if (!kprobes_all_disarmed && !kprobe_disabled(orig_p))
1625
disarm_kprobe(orig_p, true);
1626
+
1627
orig_p->flags |= KPROBE_FLAG_DISABLED;
1628
}
1629
0 commit comments