On Wed, May 18, 2022 at 03:31PM +0800, Jackie Liu wrote: > From: Jackie Liu <liuyun01@xxxxxxxxxx> > > 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. > > Co-developed-by: Marco Elver <elver@xxxxxxxxxx> Signed-off-by: Marco Elver <elver@xxxxxxxxxx> > Signed-off-by: Jackie Liu <liuyun01@xxxxxxxxxx> Reviewed-by: Marco Elver <elver@xxxxxxxxxx> > --- > v1->v2: > fixup by Marco Elver <elver@xxxxxxxxxx> > v2->v3: > write kfence_enabled=false only true before > v3->v4: > cleanup > > mm/kfence/core.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/mm/kfence/core.c b/mm/kfence/core.c > index 11a954763be9..af0489d4d149 100644 > --- a/mm/kfence/core.c > +++ b/mm/kfence/core.c > @@ -67,8 +67,11 @@ static int param_set_sample_interval(const char *val, const struct kernel_param > 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; > > @@ -874,6 +877,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; > } > > -- > 2.25.1 >