x86/sev-es: Allocate and map an IST stack for #VC handler
Allocate and map an IST stack and an additional fall-back stack for the #VC handler. The memory for the stacks is allocated only when SEV-ES is active. The #VC handler needs to use an IST stack because a #VC exception can be raised from kernel space with unsafe stack, e.g. in the SYSCALL entry path. Since the #VC exception can be nested, the #VC handler switches back to the interrupted stack when entered from kernel space. If switching back is not possible, the fall-back stack is used. Signed-off-by:Joerg Roedel <jroedel@suse.de> Signed-off-by:
Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20200907131613.12703-43-joro@8bytes.org
Showing
- arch/x86/include/asm/cpu_entry_area.h 21 additions, 12 deletionsarch/x86/include/asm/cpu_entry_area.h
- arch/x86/include/asm/page_64_types.h 1 addition, 0 deletionsarch/x86/include/asm/page_64_types.h
- arch/x86/kernel/cpu/common.c 2 additions, 0 deletionsarch/x86/kernel/cpu/common.c
- arch/x86/kernel/dumpstack_64.c 6 additions, 2 deletionsarch/x86/kernel/dumpstack_64.c
- arch/x86/kernel/sev-es.c 33 additions, 0 deletionsarch/x86/kernel/sev-es.c
Loading
Please register or sign in to comment