]> git.baikalelectronics.ru Git - kernel.git/commit
x86/cpu: Uninline CR4 accessors
authorThomas Gleixner <tglx@linutronix.de>
Tue, 21 Apr 2020 09:20:29 +0000 (11:20 +0200)
committerBorislav Petkov <bp@suse.de>
Fri, 24 Apr 2020 16:46:42 +0000 (18:46 +0200)
commit87046c28431c51d6b095a876943568681bfef816
treef5505dc788155994e589f36bec0821e510a30e12
parenta7b54fc6ba10cc3958ac9e45813c95a8778a0600
x86/cpu: Uninline CR4 accessors

cpu_tlbstate is exported because various TLB-related functions need
access to it, but cpu_tlbstate is sensitive information which should
only be accessed by well-contained kernel functions and not be directly
exposed to modules.

The various CR4 accessors require cpu_tlbstate as the CR4 shadow cache
is located there.

In preparation for unexporting cpu_tlbstate, create a builtin function
for manipulating CR4 and rework the various helpers to use it.

No functional change.

 [ bp: push the export of native_write_cr4() only when CONFIG_LKTDM=m to
   the last patch in the series. ]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200421092558.939985695@linutronix.de
arch/x86/include/asm/tlbflush.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/process.c