]> git.baikalelectronics.ru Git - kernel.git/commit
usercopy: WARN() on slab cache usercopy region violations
authorKees Cook <keescook@chromium.org>
Wed, 10 Jan 2018 23:17:01 +0000 (15:17 -0800)
committerKees Cook <keescook@chromium.org>
Mon, 15 Jan 2018 20:07:48 +0000 (12:07 -0800)
commit3c25fdc2f30f741c512360f92c577a4be896c024
tree9a015154d31ad79d892f8eb14858e679d37a0e28
parent77fbd50e59075f55a35f2fd87fd0e430aec213cb
usercopy: WARN() on slab cache usercopy region violations

This patch adds checking of usercopy cache whitelisting, and is modified
from Brad Spengler/PaX Team's PAX_USERCOPY whitelisting code in the
last public patch of grsecurity/PaX based on my understanding of the
code. Changes or omissions from the original code are mine and don't
reflect the original grsecurity/PaX code.

The SLAB and SLUB allocators are modified to WARN() on all copy operations
in which the kernel heap memory being modified falls outside of the cache's
defined usercopy region.

Based on an earlier patch from David Windsor.

Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-mm@kvack.org
Cc: linux-xfs@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
include/linux/uaccess.h
mm/slab.c
mm/slub.c
mm/usercopy.c