|
Message-ID: <20190409093234.GB21979@lakrids.cambridge.arm.com> Date: Tue, 9 Apr 2019 10:32:35 +0100 From: Mark Rutland <mark.rutland@....com> To: Alexander Potapenko <glider@...gle.com> Cc: yamada.masahiro@...ionext.com, jmorris@...ei.org, serge@...lyn.com, linux-security-module@...r.kernel.org, linux-kbuild@...r.kernel.org, ndesaulniers@...gle.com, kcc@...gle.com, dvyukov@...gle.com, keescook@...omium.org, sspatil@...roid.com, kernel-hardening@...ts.openwall.com Subject: Re: [PATCH v3 2/2] initmem: introduce CONFIG_INIT_ALL_HEAP On Mon, Apr 08, 2019 at 07:04:18PM +0200, Alexander Potapenko wrote: > This config option enables CONFIG_SLUB_DEBUG and CONFIG_PAGE_POISONING > without the need to pass any boot parameters. > > No performance optimizations are done at the moment to reduce double > initialization of memory regions. > > Signed-off-by: Alexander Potapenko <glider@...gle.com> > Cc: Masahiro Yamada <yamada.masahiro@...ionext.com> > Cc: James Morris <jmorris@...ei.org> > Cc: "Serge E. Hallyn" <serge@...lyn.com> > Cc: Nick Desaulniers <ndesaulniers@...gle.com> > Cc: Kostya Serebryany <kcc@...gle.com> > Cc: Dmitry Vyukov <dvyukov@...gle.com> > Cc: Kees Cook <keescook@...omium.org> > Cc: Sandeep Patil <sspatil@...roid.com> > Cc: linux-security-module@...r.kernel.org > Cc: linux-kbuild@...r.kernel.org > Cc: kernel-hardening@...ts.openwall.com > --- > v3: > - addressed comments by Masahiro Yamada (Kconfig fixes) > --- > mm/page_poison.c | 5 +++++ > mm/slub.c | 2 ++ > security/Kconfig.initmem | 11 +++++++++++ > 3 files changed, 18 insertions(+) > > diff --git a/mm/page_poison.c b/mm/page_poison.c > index 21d4f97cb49b..a1985f33f635 100644 > --- a/mm/page_poison.c > +++ b/mm/page_poison.c > @@ -12,9 +12,14 @@ static bool want_page_poisoning __read_mostly; > > static int __init early_page_poison_param(char *buf) > { > +#ifdef CONFIG_INIT_ALL_HEAP > + want_page_poisoning = true; > + return 0; > +#else > if (!buf) > return -EINVAL; > return strtobool(buf, &want_page_poisoning); > +#endif > } > early_param("page_poison", early_page_poison_param); IIUC this is only called if page_poison is passed on the command line, so want_page_poisoning won't be set automatically unless that's passed. Presumably you want to initialize it at definition with: static bool want_page_poisoning __read_mostly = IS_ENABLED(CONFIG_INIT_ALL_HEAP); with: #ifndef CONFIG_INIT_ALL_HEAP static int __init early_page_poison_param(char *buf) { ... } early_param("page_poison", early_page_poison_param); #endif ... so that it can't be disabled? Thanks, Mark.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.