[PATCH v3 0/6] ubsan: Split out bounds checker

From: Kees Cook
Date: Wed Jan 15 2020 - 20:24:27 EST


This splits out the bounds checker so it can be individually used. This
is expected to be enabled in Android and hopefully for syzbot. Includes
LKDTM tests for behavioral corner-cases (beyond just the bounds checker),
and adjusts ubsan and kasan slightly for correct panic handling.

-Kees

v3:
- use UBSAN menuconfig (will)
- clean up ubsan report titles (dvyukov)
- fix ubsan/kasan "panic" handling
- add Acks
v2: https://lore.kernel.org/lkml/20191121181519.28637-1-keescook@xxxxxxxxxxxx
v1: https://lore.kernel.org/lkml/20191120010636.27368-1-keescook@xxxxxxxxxxxx


Kees Cook (6):
ubsan: Add trap instrumentation option
ubsan: Split "bounds" checker from other options
lkdtm/bugs: Add arithmetic overflow and array bounds checks
ubsan: Check panic_on_warn
kasan: Unset panic_on_warn before calling panic()
ubsan: Include bug type in report header

drivers/misc/lkdtm/bugs.c | 75 ++++++++++++++++++++++++++++++++++++++
drivers/misc/lkdtm/core.c | 3 ++
drivers/misc/lkdtm/lkdtm.h | 3 ++
lib/Kconfig.ubsan | 49 +++++++++++++++++++++----
lib/Makefile | 2 +
lib/ubsan.c | 47 +++++++++++++-----------
mm/kasan/report.c | 10 ++++-
scripts/Makefile.ubsan | 16 ++++++--
8 files changed, 172 insertions(+), 33 deletions(-)

--
2.20.1