acpi, x86/mm: Remove encryption mask from ACPI page protection type
authorTom Lendacky <thomas.lendacky@amd.com>
Fri, 28 Jul 2017 16:01:17 +0000 (11:01 -0500)
committerIngo Molnar <mingo@kernel.org>
Sun, 30 Jul 2017 10:09:12 +0000 (12:09 +0200)
commit57bd1905b228f2a14d7506b0302f69f425131e57
tree4cde24dc0f0ac5be3d881ec2c779f35a51963dc8
parent4e237903f95db585b976e7311de2bfdaaf0f6e31
acpi, x86/mm: Remove encryption mask from ACPI page protection type

The arch_apei_get_mem_attributes() function is used to set the page
protection type for ACPI physical addresses. When SME is active, the
associated protection type cannot have the encryption mask set since the
ACPI tables live in un-encrypted memory - the kernel will see corrupted
data.

To fix this, create a new protection type, PAGE_KERNEL_NOENC, that is a
'no encryption' version of PAGE_KERNEL, and return that from
arch_apei_get_mem_attributes().

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/e1cb9395b2f061cd96f1e59c3cbbe5ff5d4ec26e.1501186516.git.thomas.lendacky@amd.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/acpi.h
arch/x86/include/asm/pgtable_types.h