mm/kfence: print disabling or re-enabling message

By printing information, we can friendly prompt the status change
information of kfence by dmesg and record by syslog.

Also, set kfence_enabled to false only when needed.

Link: https://lkml.kernel.org/r/20220518073105.3160335-1-liu.yun@linux.dev
Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
Co-developed-by: Marco Elver <elver@google.com>
Signed-off-by: Marco Elver <elver@google.com>
Reviewed-by: Marco Elver <elver@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Jackie Liu 2022-05-18 15:31:05 +08:00 committed by akpm
parent e5c3f619a0
commit 83d7d04f9d

View File

@ -69,8 +69,11 @@ static int param_set_sample_interval(const char *val, const struct kernel_param
if (ret < 0) if (ret < 0)
return ret; return ret;
if (!num) /* Using 0 to indicate KFENCE is disabled. */ /* Using 0 to indicate KFENCE is disabled. */
if (!num && READ_ONCE(kfence_enabled)) {
pr_info("disabled\n");
WRITE_ONCE(kfence_enabled, false); WRITE_ONCE(kfence_enabled, false);
}
*((unsigned long *)kp->arg) = num; *((unsigned long *)kp->arg) = num;
@ -898,6 +901,7 @@ static int kfence_enable_late(void)
WRITE_ONCE(kfence_enabled, true); WRITE_ONCE(kfence_enabled, true);
queue_delayed_work(system_unbound_wq, &kfence_timer, 0); queue_delayed_work(system_unbound_wq, &kfence_timer, 0);
pr_info("re-enabled\n");
return 0; return 0;
} }