aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/boot/compressed
diff options
context:
space:
mode:
authorGravatar Joerg Roedel <jroedel@suse.de> 2023-10-16 14:42:50 +0200
committerGravatar Borislav Petkov (AMD) <bp@alien8.de> 2023-10-17 10:58:16 +0200
commit63e44bc52047f182601e7817da969a105aa1f721 (patch)
tree3a627e7e557da4e8273458595a8483fab82b2fa4 /arch/x86/boot/compressed
parentx86/sev: Check IOBM for IOIO exceptions from user-space (diff)
downloadlinux-63e44bc52047f182601e7817da969a105aa1f721.tar.gz
linux-63e44bc52047f182601e7817da969a105aa1f721.tar.bz2
linux-63e44bc52047f182601e7817da969a105aa1f721.zip
x86/sev: Check for user-space IOIO pointing to kernel space
Check the memory operand of INS/OUTS before emulating the instruction. The #VC exception can get raised from user-space, but the memory operand can be manipulated to access kernel memory before the emulation actually begins and after the exception handler has run. [ bp: Massage commit message. ] Fixes: 597cfe48212a ("x86/boot/compressed/64: Setup a GHCB-based VC Exception handler") Reported-by: Tom Dohrmann <erbse.13@gmx.de> Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Cc: <stable@kernel.org>
Diffstat (limited to 'arch/x86/boot/compressed')
-rw-r--r--arch/x86/boot/compressed/sev.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/boot/compressed/sev.c b/arch/x86/boot/compressed/sev.c
index afd91041ec3e..80d76aea1f7b 100644
--- a/arch/x86/boot/compressed/sev.c
+++ b/arch/x86/boot/compressed/sev.c
@@ -108,6 +108,11 @@ static enum es_result vc_ioio_check(struct es_em_ctxt *ctxt, u16 port, size_t si
return ES_OK;
}
+static bool fault_in_kernel_space(unsigned long address)
+{
+ return false;
+}
+
#undef __init
#define __init