list: Split list_add() debug checking into separate function
authorKees Cook <keescook@chromium.org>
Wed, 17 Aug 2016 21:42:08 +0000 (14:42 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 22 Aug 2016 16:55:22 +0000 (09:55 -0700)
commitc69780bdd841801501cef7efbcce95e1ae6826f9
treedc732ae9d794e6e5fe5e0678b21e23b75231a4cf
parent8be561c02567e1f84d3de2b753ff312bb438b02b
list: Split list_add() debug checking into separate function

Right now, __list_add() code is repeated either in list.h or in
list_debug.c, but the only differences between the two versions
are the debug checks. This commit therefore extracts these debug
checks into a separate __list_add_valid() function and consolidates
__list_add(). Additionally this new __list_add_valid() function will stop
list manipulations if a corruption is detected, instead of allowing for
further corruption that may lead to even worse conditions.

This is slight refactoring of the same hardening done in PaX and Grsecurity.

Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Rik van Riel <riel@redhat.com>
include/linux/list.h
lib/list_debug.c
This page took 0.02602 seconds and 5 git commands to generate.