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

Kees Cook
2020-01-16T01:24:22Z

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@chromium.org
v1: https://lore.kernel.org/lkml/20191120010636.27368-1-keescook@chromium.org

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