linux-security-module.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] RFC: add init_on_alloc/init_on_free boot options
@ 2019-05-08 15:37 Alexander Potapenko
  2019-05-08 15:37 ` [PATCH 1/4] mm: security: introduce init_on_alloc=1 and init_on_free=1 " Alexander Potapenko
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Alexander Potapenko @ 2019-05-08 15:37 UTC (permalink / raw)
  To: akpm, cl, keescook, labbott
  Cc: linux-mm, linux-security-module, kernel-hardening,
	yamada.masahiro, jmorris, serge, ndesaulniers, kcc, dvyukov,
	sspatil, rdunlap, jannh, mark.rutland

Provide init_on_alloc and init_on_free boot options.

These are aimed at preventing possible information leaks and making the
control-flow bugs that depend on uninitialized values more deterministic.

Enabling either of the options guarantees that the memory returned by the
page allocator and SL[AOU]B is initialized with zeroes.

Enabling init_on_free also guarantees that pages and heap objects are
initialized right after they're freed, so it won't be possible to access
stale data by using a dangling pointer.

Alexander Potapenko (4):
  mm: security: introduce init_on_alloc=1 and init_on_free=1 boot
    options
  lib: introduce test_meminit module
  gfp: mm: introduce __GFP_NOINIT
  net: apply __GFP_NOINIT to AF_UNIX sk_buff allocations

 .../admin-guide/kernel-parameters.txt         |   8 +
 drivers/infiniband/core/uverbs_ioctl.c        |   2 +-
 include/linux/gfp.h                           |   6 +-
 include/linux/mm.h                            |  22 ++
 include/net/sock.h                            |   5 +
 kernel/kexec_core.c                           |   4 +-
 lib/Kconfig.debug                             |   8 +
 lib/Makefile                                  |   1 +
 lib/test_meminit.c                            | 205 ++++++++++++++++++
 mm/dmapool.c                                  |   2 +-
 mm/page_alloc.c                               |  62 +++++-
 mm/slab.c                                     |  18 +-
 mm/slab.h                                     |  16 ++
 mm/slob.c                                     |  23 +-
 mm/slub.c                                     |  28 ++-
 net/core/sock.c                               |  31 ++-
 net/unix/af_unix.c                            |  13 +-
 security/Kconfig.hardening                    |  16 ++
 18 files changed, 439 insertions(+), 31 deletions(-)
 create mode 100644 lib/test_meminit.c

-- 
2.21.0.1020.gf2820cf01a-goog


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-05-15 10:07 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-08 15:37 [PATCH 0/4] RFC: add init_on_alloc/init_on_free boot options Alexander Potapenko
2019-05-08 15:37 ` [PATCH 1/4] mm: security: introduce init_on_alloc=1 and init_on_free=1 " Alexander Potapenko
2019-05-08 19:02   ` Kees Cook
2019-05-09 16:43     ` Alexander Potapenko
2019-05-09  1:04   ` Randy Dunlap
2019-05-08 15:37 ` [PATCH 2/4] lib: introduce test_meminit module Alexander Potapenko
2019-05-08 15:37 ` [PATCH 3/4] gfp: mm: introduce __GFP_NOINIT Alexander Potapenko
2019-05-08 19:08   ` Kees Cook
2019-05-09 13:23     ` Alexander Potapenko
2019-05-11  7:28       ` Souptick Joarder
2019-05-14 14:39         ` Alexander Potapenko
2019-05-15 10:06           ` Souptick Joarder
2019-05-08 15:37 ` [PATCH 4/4] net: apply __GFP_NOINIT to AF_UNIX sk_buff allocations Alexander Potapenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).