]> git.baikalelectronics.ru Git - kernel.git/commit
x86, smep, smap: Make the switching functions one-way
authorH. Peter Anvin <hpa@linux.intel.com>
Thu, 27 Sep 2012 01:02:28 +0000 (18:02 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Thu, 27 Sep 2012 16:52:38 +0000 (09:52 -0700)
commit873adbb9a0721445fc46d038327d95315288e19b
tree8e01fcacb8bad82c4351fa82b351ecc185fe8056
parentf10bae47234edf1f3d76e471ed9cf44ed932803f
x86, smep, smap: Make the switching functions one-way

There is no fundamental reason why we should switch SMEP and SMAP on
during early cpu initialization just to switch them off again.  Now
with %eflags and %cr4 forced to be initialized to a clean state, we
only need the one-way enable.  Also, make the functions inline to make
them (somewhat) harder to abuse.

This does mean that SMEP and SMAP do not get initialized anywhere near
as early.  Even using early_param() instead of __setup() doesn't give
us control early enough to do this during the early cpu initialization
phase.  This seems reasonable to me, because SMEP and SMAP should not
matter until we have userspace to protect ourselves from, but it does
potentially make it possible for a bug involving a "leak of
permissions to userspace" to get uncaught.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/kernel/cpu/common.c