On Mon, 24 Jan 2022 at 03:37, 'Peng Liu' via kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> wrote: > > The parameter kfence_sample_interval can be set via boot parameter > and late shell command. However, KFENCE test case just use compile > time CONFIG_KFENCE_SAMPLE_INTERVAL, this will make KFENCE test case > not run as user desired. This patch will make KFENCE test case > compatible with run-time-set sample interval. > > Signed-off-by: Peng Liu <liupeng256@xxxxxxxxxx> > --- > include/linux/kfence.h | 2 ++ > mm/kfence/core.c | 3 ++- > mm/kfence/kfence_test.c | 8 ++++---- > 3 files changed, 8 insertions(+), 5 deletions(-) > > diff --git a/include/linux/kfence.h b/include/linux/kfence.h > index bf91b76b87ee..0fc913a7f017 100644 > --- a/include/linux/kfence.h > +++ b/include/linux/kfence.h > @@ -19,6 +19,8 @@ > > extern bool kfence_enabled; > extern unsigned long kfence_num_objects; > +extern unsigned long kfence_sample_interval; > + > /* > * We allocate an even number of pages, as it simplifies calculations to map > * address to metadata indices; effectively, the very first page serves as an > diff --git a/mm/kfence/core.c b/mm/kfence/core.c > index 2301923182b8..e2fcae34cc84 100644 > --- a/mm/kfence/core.c > +++ b/mm/kfence/core.c > @@ -50,7 +50,8 @@ > > bool kfence_enabled __read_mostly; > > -static unsigned long kfence_sample_interval __read_mostly = CONFIG_KFENCE_SAMPLE_INTERVAL; > +unsigned long kfence_sample_interval __read_mostly = CONFIG_KFENCE_SAMPLE_INTERVAL; > +EXPORT_SYMBOL(kfence_sample_interval); /* Export for test modules. */ While it would make some situations more convenient, I've wanted to avoid exporting a new symbol just for the test. And in most cases it only makes sense to run the test on a custom debug kernel. Why do you need this? Should you really need this, I suggest at least using EXPORT_SYMBOL_GPL. Should you want it, you can resend this patch standalone detached from the rest. Thanks, -- Marco