From: sashiko-bot@kernel.org
To: "Juergen Gross" <jgross@suse.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH v2 4/6] KVM/x86: Return -errno instead of "1" for VMX related MSR emulation
Date: Thu, 28 May 2026 14:11:08 +0000 [thread overview]
Message-ID: <20260528141108.F2A211F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260528113605.267111-5-jgross@suse.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Critical] Replacing literal `1` with negative error codes (e.g., `-EINVAL`, `-EACCES`) in KVM MSR emulation handlers breaks `#GP` fault injection, causing guest MSR violations to fatally abort the `KVM_RUN` ioctl and crash the VM.
--
commit cd49bcf603dc5dd7de8fce25d5359556bec52252
Author: Juergen Gross <jgross@suse.com>
KVM/x86: Return -errno instead of "1" for VMX related MSR emulation
This commit updates VMX-related MSR emulation handlers to return negative
errno values instead of a literal 1 on error.
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
[ ... ]
> @@ -2391,12 +2391,12 @@ int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
> break;
> case MSR_IA32_UMWAIT_CONTROL:
> if (!msr_info->host_initiated && !vmx_has_waitpkg(vmx))
> - return 1;
> + return -EINVAL;
>
> /* The reserved bit 1 and non-32 bit [63:32] should be zero */
> if (data & (BIT_ULL(1) | GENMASK_ULL(63, 32)))
> - return 1;
> + return -EINVAL;
[Severity: Critical]
Does this change break #GP fault injection for guest MSR violations?
When a guest executes a write to an MSR with invalid data, the handler is
expected to return 1. This signals __kvm_emulate_wrmsr() to inject a #GP into
the guest via complete_emulated_msr_access().
If the handler returns a negative error code like -EINVAL, it appears
__kvm_emulate_wrmsr() will instead hit the "if (r < 0) return r;" check.
Won't this propagate the error directly up the call stack, abort the ioctl, and
cause userspace to terminate the guest instead of properly injecting a fault?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260528113605.267111-1-jgross@suse.com?part=4
next prev parent reply other threads:[~2026-05-28 14:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-28 11:35 [PATCH v2 0/6] KVM/x86: Drop "1" as MSR emulation return value Juergen Gross
2026-05-28 11:36 ` [PATCH v2 1/6] KVM/x86: Change comment before KVM_MSR_RET_* defines Juergen Gross
2026-05-28 11:52 ` sashiko-bot
2026-05-28 11:36 ` [PATCH v2 2/6] KVM/x86: Return -errno instead of "1" for APIC related MSR emulation Juergen Gross
2026-05-28 12:17 ` sashiko-bot
2026-05-28 11:36 ` [PATCH v2 3/6] KVM/x86: Return -errno instead of "1" for Hyper-V " Juergen Gross
2026-05-28 13:00 ` sashiko-bot
2026-05-28 11:36 ` [PATCH v2 4/6] KVM/x86: Return -errno instead of "1" for VMX " Juergen Gross
2026-05-28 14:11 ` sashiko-bot [this message]
2026-05-28 11:36 ` [PATCH v2 5/6] KVM/x86: Return -errno instead of "1" for SVM " Juergen Gross
2026-05-28 14:51 ` sashiko-bot
2026-05-28 11:36 ` [PATCH v2 6/6] KVM/x86: Return -errno instead of "1" for common " Juergen Gross
2026-05-28 16:19 ` sashiko-bot
2026-05-28 11:58 ` [PATCH v2 0/6] KVM/x86: Drop "1" as MSR emulation return value Juergen Gross
2026-05-28 13:09 ` Sean Christopherson
2026-05-28 13:18 ` Jürgen Groß
2026-05-28 13:21 ` Sean Christopherson
2026-05-28 14:01 ` Jürgen Groß
2026-05-28 14:33 ` Jürgen Groß
2026-05-28 15:32 ` David Woodhouse
2026-05-28 15:36 ` Jürgen Groß
2026-05-28 15:50 ` Jürgen Groß
2026-05-29 9:31 ` Juergen Gross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260528141108.F2A211F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=jgross@suse.com \
--cc=kvm@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox