|
Message-ID: <ff1f408b-cf37-7df0-2393-7bc2078f6c63@infradead.org> Date: Thu, 18 Apr 2019 15:08:37 -0700 From: Randy Dunlap <rdunlap@...radead.org> To: Alexander Potapenko <glider@...gle.com>, akpm@...ux-foundation.org, cl@...ux.com, dvyukov@...gle.com, keescook@...omium.org, labbott@...hat.com Cc: linux-mm@...ck.org, linux-security-module@...r.kernel.org, kernel-hardening@...ts.openwall.com Subject: Re: [PATCH 1/3] mm: security: introduce the init_allocations=1 boot option On 4/18/19 8:42 AM, Alexander Potapenko wrote: > This option adds the possibility to initialize newly allocated pages and > heap objects with zeroes. This is needed to prevent possible information > leaks and make the control-flow bugs that depend on uninitialized values > more deterministic. > > Initialization is done at allocation time at the places where checks for > __GFP_ZERO are performed. We don't initialize slab caches with > constructors to preserve their semantics. To reduce runtime costs of > checking cachep->ctor we replace a call to memset with a call to > cachep->poison_fn, which is only executed if the memory block needs to > be initialized. > > For kernel testing purposes filling allocations with a nonzero pattern > would be more suitable, but may require platform-specific code. To have > a simple baseline we've decided to start with zero-initialization. > > No performance optimizations are done at the moment to reduce double > initialization of memory regions. > > Signed-off-by: Alexander Potapenko <glider@...gle.com> > Cc: Andrew Morton <akpm@...ux-foundation.org> > 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: Laura Abbott <labbott@...hat.com> > Cc: Randy Dunlap <rdunlap@...radead.org> > Cc: Jann Horn <jannh@...gle.com> > Cc: Mark Rutland <mark.rutland@....com> > Cc: Qian Cai <cai@....pw> > Cc: Vlastimil Babka <vbabka@...e.cz> > Cc: linux-mm@...ck.org > Cc: linux-security-module@...r.kernel.org > Cc: kernel-hardening@...ts.openwall.com > --- > drivers/infiniband/core/uverbs_ioctl.c | 2 +- > include/linux/mm.h | 8 ++++++++ > include/linux/slab_def.h | 1 + > include/linux/slub_def.h | 1 + > kernel/kexec_core.c | 2 +- > mm/dmapool.c | 2 +- > mm/page_alloc.c | 18 +++++++++++++++++- > mm/slab.c | 12 ++++++------ > mm/slab.h | 1 + > mm/slab_common.c | 15 +++++++++++++++ > mm/slob.c | 2 +- > mm/slub.c | 8 ++++---- > net/core/sock.c | 2 +- > 13 files changed, 58 insertions(+), 16 deletions(-) > Hi, Please document init_allocations=N in Documentation/admin-guide/kernel-parameters.txt. thanks. -- ~Randy
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.