randstruct: opt-out externally exposed function pointer structs
authorKees Cook <keescook@chromium.org>
Fri, 28 Oct 2016 07:45:16 +0000 (00:45 -0700)
committerKees Cook <keescook@chromium.org>
Fri, 30 Jun 2017 19:00:52 +0000 (12:00 -0700)
commit8acdf5055974e49d337d51ac7011449cfd7b7d05
tree6a2f0911e7eff74141bed50c2a5db94cd2bce577
parent29e48ce87f1eaaa4b1fe3d9af90c586ac2d1fb74
randstruct: opt-out externally exposed function pointer structs

Some function pointer structures are used externally to the kernel, like
the paravirt structures. These should never be randomized, so mark them
as such, in preparation for enabling randstruct's automatic selection
of all-function-pointer structures.

These markings are verbatim from Brad Spengler/PaX Team's 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.

Signed-off-by: Kees Cook <keescook@chromium.org>
arch/arm/include/asm/cacheflush.h
arch/x86/include/asm/paravirt_types.h