[PATCH tip/core/rcu 0/7] Security-related list changes for 4.10

From: Paul E. McKenney
Date: Mon Nov 14 2016 - 12:55:14 EST


Hello!

This series contains security-related list changes, some of which stems
in part from PaX and Grsecurity work:

1. Split __list_add() debug checks into a separate functions,
courtesy of Kees Cook.

2. Consolidate DEBUG_LIST() for list_add_rcu(), courtesy of Kees Cook.

3. Split list_del() debug checking into separate function, courtesy
of Kees Cook.

4. Provide toggle for BUG() on data corruption, so that people who
care more about security than uptime can crash their machines
in the face of list data corruption, courtesy of Kees Cook.

Note that CHECK_DATA_CORRUPTION() contains unconventional control
flow, however, this is intended and is used correctly.

5. Add tests for list corruption, courtesy of Kees Cook.

6. Fix typo in "select" Kconfig statement in #4 above, courtesy
of Valentin Rothberg.

7. Avoid Kconfig warning from CONFIG_DEBUG_LIST from #4 above,
courtesy of Arnd Bergmann.

Thanx, Paul

------------------------------------------------------------------------

drivers/misc/lkdtm.h | 2
drivers/misc/lkdtm_bugs.c | 68 +++++++++++++++++
drivers/misc/lkdtm_core.c | 2
include/linux/bug.h | 17 ++++
include/linux/list.h | 37 ++++++---
include/linux/rculist.h | 8 --
lib/Kconfig.debug | 14 +++
lib/list_debug.c | 177 +++++++++++++++++-----------------------------
8 files changed, 197 insertions(+), 128 deletions(-)