Skip to content

Security-related list changes for 4.10

Paul E. McKenney lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7list: Split list_add() debug checking into separate functioninclude/linux/list.h lib/list_debug.c+39 -310 replies
2/7rculist: Consolidate DEBUG_LIST for list_add_rcu()include/linux/rculist.h lib/list_debug.c+3 -240 replies
3/7list: Split list_del() debug checking into separate functioninclude/linux/list.h lib/list_debug.c+32 -360 replies
4/7bug: Provide toggle for BUG on data corruptioninclude/linux/bug.h lib/Kconfig.debug lib/list_debug.c+49 -350 replies
5/7lkdtm: Add tests for struct list corruptiondrivers/misc/lkdtm.h drivers/misc/lkdtm_bugs.c drivers/misc/lkdtm_core.c+72 -00 replies
6/7lib/Kconfig.debug: Fix typo in select statementlib/Kconfig.debug+1 -10 replies
7/7bug: Avoid Kconfig warning for BUG_ON_DATA_CORRUPTIONlib/Kconfig.debug+1 -10 replies

Reviews trailers per patch

All 7 patches have a Reviewed-by or Acked-by.

PatchRik van RielSteven RostedtKees Cook
1/7A-b A-b
2/7A-b A-b
3/7A-b A-b
4/7A-b A-b
5/7A-b A-b
6/7A-b
7/7A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

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

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(-)