]> 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)
commitdfd79a4c624fb2c6e80e0347e83132c76a730c02
tree9a015154d31ad79d892f8eb14858e679d37a0e28
parentc3ca46a6bb04fbd134065a820163ba16712f2fee
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