[PATCH] x86: Use __nostackprotect for sme_encrypt_kernel

From: Laura Abbott
Date: Sat Jan 20 2018 - 20:14:55 EST


Commit bacf6b499e11 ("x86/mm: Use a struct to reduce parameters for
SME PGD mapping") moved some parameters into a structure. The
structure was large enough to trigger the stack protection canary
in sme_encrypt_kernel which doesn't work this early, causing reboots.
Mark sme_encrypt_kernel appropriately to not use the canary.

Fixes: bacf6b499e11 ("x86/mm: Use a struct to reduce parameters for
SME PGD mapping")
Signed-off-by: Laura Abbott <labbott@xxxxxxxxxx>
---
I hadn't seen this picked up yet so sending explicitly
---
arch/x86/mm/mem_encrypt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c
index 3ef362f598e3..e1d61e8500f9 100644
--- a/arch/x86/mm/mem_encrypt.c
+++ b/arch/x86/mm/mem_encrypt.c
@@ -738,7 +738,7 @@ static unsigned long __init sme_pgtable_calc(unsigned long len)
return total;
}

-void __init sme_encrypt_kernel(struct boot_params *bp)
+void __init __nostackprotector sme_encrypt_kernel(struct boot_params *bp)
{
unsigned long workarea_start, workarea_end, workarea_len;
unsigned long execute_start, execute_end, execute_len;
--
2.15.1