aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kprobes.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index 2ca272f8f62e..c39790001854 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -2320,6 +2320,12 @@ static void arm_all_kprobes(void)
2320 if (!kprobes_all_disarmed) 2320 if (!kprobes_all_disarmed)
2321 goto already_enabled; 2321 goto already_enabled;
2322 2322
2323 /*
2324 * optimize_kprobe() called by arm_kprobe() checks
2325 * kprobes_all_disarmed, so set kprobes_all_disarmed before
2326 * arm_kprobe.
2327 */
2328 kprobes_all_disarmed = false;
2323 /* Arming kprobes doesn't optimize kprobe itself */ 2329 /* Arming kprobes doesn't optimize kprobe itself */
2324 for (i = 0; i < KPROBE_TABLE_SIZE; i++) { 2330 for (i = 0; i < KPROBE_TABLE_SIZE; i++) {
2325 head = &kprobe_table[i]; 2331 head = &kprobe_table[i];
@@ -2328,7 +2334,6 @@ static void arm_all_kprobes(void)
2328 arm_kprobe(p); 2334 arm_kprobe(p);
2329 } 2335 }
2330 2336
2331 kprobes_all_disarmed = false;
2332 printk(KERN_INFO "Kprobes globally enabled\n"); 2337 printk(KERN_INFO "Kprobes globally enabled\n");
2333 2338
2334already_enabled: 2339already_enabled: