|
Message-ID: <CAG_fn=V2aMoWnKfqC7eomEgFtjedcfmF0O2FF-ZPxC9x0aMDcg@mail.gmail.com> Date: Tue, 9 Apr 2019 10:29:30 +0200 From: Alexander Potapenko <glider@...gle.com> To: Randy Dunlap <rdunlap@...radead.org> Cc: Masahiro Yamada <yamada.masahiro@...ionext.com>, James Morris <jmorris@...ei.org>, "Serge E. Hallyn" <serge@...lyn.com>, linux-security-module <linux-security-module@...r.kernel.org>, Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>, Nick Desaulniers <ndesaulniers@...gle.com>, Kostya Serebryany <kcc@...gle.com>, Dmitriy Vyukov <dvyukov@...gle.com>, Kees Cook <keescook@...omium.org>, Sandeep Patil <sspatil@...roid.com>, Kernel Hardening <kernel-hardening@...ts.openwall.com> Subject: Re: [PATCH v3 1/2] initmem: introduce CONFIG_INIT_ALL_MEMORY and CONFIG_INIT_ALL_STACK On Tue, Apr 9, 2019 at 12:15 AM Randy Dunlap <rdunlap@...radead.org> wrote: > > On 4/8/19 10:04 AM, Alexander Potapenko wrote: > > diff --git a/security/Kconfig.initmem b/security/Kconfig.initmem > > new file mode 100644 > > index 000000000000..5e49a55382ad > > --- /dev/null > > +++ b/security/Kconfig.initmem > > @@ -0,0 +1,29 @@ > > +menu "Initialize all memory" > > + > > +config CC_HAS_AUTO_VAR_INIT > > + def_bool $(cc-option,-ftrivial-auto-var-init=pattern) > > + > > +config INIT_ALL_MEMORY > > + bool "Initialize all memory" > > + default n > > + help > > + Enforce memory initialization to mitigate infoleaks and make > > + the control-flow bugs depending on uninitialized values more > > + deterministic. > > + > > +if INIT_ALL_MEMORY > > + > > +config INIT_ALL_STACK > > + bool "Initialize all stack" > > + depends on INIT_ALL_MEMORY > > This "depends on" is redundant with the "if INIT_ALL_MEMORY" above it. Ack, thank you! > Similar comment for patch 2/2 and INIT_ALL_HEAP. > > > + depends on CC_HAS_AUTO_VAR_INIT || (HAVE_GCC_PLUGINS && PLUGIN_HOSTCC != "") > > + select GCC_PLUGINS if !CC_HAS_AUTO_VAR_INIT > > + select GCC_PLUGIN_STRUCTLEAK if !CC_HAS_AUTO_VAR_INIT > > + select GCC_PLUGIN_STRUCTLEAK_BYREF_ALL if !CC_HAS_AUTO_VAR_INIT > > + default y > > + help > > + Initialize uninitialized stack data with a fixed pattern > > + (0x00 in GCC, 0xAA in Clang). > > + > > +endif # INIT_ALL_MEMORY > > +endmenu > > > -- > ~Randy -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Straße, 33 80636 München Geschäftsführer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg
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.