]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit - lib/list_debug.c
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, 31 Oct 2016 20:01:56 +0000 (13:01 -0700)
commitd7c816733d501b59dbdc2483f2cc8e4431fd9160
tree2b612eb24d1a506dc4cf4a5a519fb53e382b8bc0
parent1001354ca34179f3db924eb66672442a173147dc
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