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

From: Kees Cook
Date: Thu Feb 27 2020 - 14:35:33 EST


Argh, v4 missed uncommitted changes. v5 brown paper bag release! :)

This splits out the bounds checker so it can be individually used. This
is 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

v5:
- _actually_ use hyphenated bug class names (andreyknvl)
v4: https://lore.kernel.org/lkml/20200227184921.30215-1-keescook@xxxxxxxxxxxx
v3: https://lore.kernel.org/lkml/20200116012321.26254-1-keescook@xxxxxxxxxxxx
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