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 76d36de commit 9c80e79Copy full SHA for 9c80e79
kernel/kprobes.c
@@ -1707,11 +1707,12 @@ static struct kprobe *__disable_kprobe(struct kprobe *p)
1707
/* Try to disarm and disable this/parent probe */
1708
if (p == orig_p || aggr_kprobe_disabled(orig_p)) {
1709
/*
1710
- * If 'kprobes_all_disarmed' is set, 'orig_p'
1711
- * should have already been disarmed, so
1712
- * 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
1713
+ * on the best effort basis.
1714
*/
- if (!kprobes_all_disarmed) {
1715
+ if (!kprobes_all_disarmed && !kprobe_disabled(orig_p)) {
1716
ret = disarm_kprobe(orig_p, true);
1717
if (ret) {
1718
p->flags &= ~KPROBE_FLAG_DISABLED;
0 commit comments