summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/processor-flags.h
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2022-11-09 17:51:25 +0100
committerDave Hansen <dave.hansen@linux.intel.com>2022-12-15 19:37:28 +0100
commit80d0969aa7832bfeb287cb22563a1ad08fea937d (patch)
tree52dce028d553f35dd6d1829415c46b20011dd7b2 /arch/x86/include/asm/processor-flags.h
parentx86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros (diff)
downloadlinux-80d0969aa7832bfeb287cb22563a1ad08fea937d.tar.xz
linux-80d0969aa7832bfeb287cb22563a1ad08fea937d.zip
x86/mm: Fix CR3_ADDR_MASK
The mask must not include bits above physical address mask. These bits are reserved and can be used for other things. Bits 61 and 62 are used for Linear Address Masking. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com> Reviewed-by: Alexander Potapenko <glider@google.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Alexander Potapenko <glider@google.com> Link: https://lore.kernel.org/all/20221109165140.9137-2-kirill.shutemov%40linux.intel.com
Diffstat (limited to 'arch/x86/include/asm/processor-flags.h')
-rw-r--r--arch/x86/include/asm/processor-flags.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/processor-flags.h b/arch/x86/include/asm/processor-flags.h
index 02c2cbda4a74..a7f3d9100adb 100644
--- a/arch/x86/include/asm/processor-flags.h
+++ b/arch/x86/include/asm/processor-flags.h
@@ -35,7 +35,7 @@
*/
#ifdef CONFIG_X86_64
/* Mask off the address space ID and SME encryption bits. */
-#define CR3_ADDR_MASK __sme_clr(0x7FFFFFFFFFFFF000ull)
+#define CR3_ADDR_MASK __sme_clr(PHYSICAL_PAGE_MASK)
#define CR3_PCID_MASK 0xFFFull
#define CR3_NOFLUSH BIT_ULL(63)