| From: Jackie Liu <liuyun01@kylinos.cn> |
| Subject: mm/kfence: print disabling or re-enabling message |
| Date: Wed, 18 May 2022 15:31:05 +0800 |
| |
| 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> |
| --- |
| |
| mm/kfence/core.c | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| --- a/mm/kfence/core.c~mm-kfence-print-disabling-or-re-enabling-message |
| +++ a/mm/kfence/core.c |
| @@ -69,8 +69,11 @@ static int param_set_sample_interval(con |
| if (ret < 0) |
| 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); |
| + } |
| |
| *((unsigned long *)kp->arg) = num; |
| |
| @@ -898,6 +901,7 @@ static int kfence_enable_late(void) |
| |
| WRITE_ONCE(kfence_enabled, true); |
| queue_delayed_work(system_unbound_wq, &kfence_timer, 0); |
| + pr_info("re-enabled\n"); |
| return 0; |
| } |
| |
| _ |