diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c index 2787826d9f607798da1d2b2fca4d8550a601eb0c..4ee14e647ae62b0efc8c15196e57dbcd466c3532 100644 --- a/arch/x86/kernel/sev.c +++ b/arch/x86/kernel/sev.c @@ -1509,6 +1509,9 @@ static enum es_result vc_handle_mmio(struct ghcb *ghcb, struct es_em_ctxt *ctxt) return ES_DECODE_FAILED; } + if (user_mode(ctxt->regs)) + return ES_UNSUPPORTED; + switch (mmio) { case INSN_MMIO_WRITE: memcpy(ghcb->shared_buffer, reg_data, bytes);