From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: linmiaohe <linmiaohe@huawei.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
x86@kernel.org, pbonzini@redhat.com, rkrcmar@redhat.com,
sean.j.christopherson@intel.com, wanpengli@tencent.com,
jmattson@google.com, joro@8bytes.org, tglx@linutronix.de,
mingo@redhat.com, bp@alien8.de, hpa@zytor.com
Subject: Re: [PATCH] KVM: nVMX: set rflags to specify success in handle_invvpid() default case
Date: Thu, 23 Jan 2020 09:55:44 +0100 [thread overview]
Message-ID: <8736c6sga7.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <1579749241-712-1-git-send-email-linmiaohe@huawei.com>
linmiaohe <linmiaohe@huawei.com> writes:
> From: Miaohe Lin <linmiaohe@huawei.com>
>
> In handle_invvpid() default case, we just skip emulated instruction and
> forget to set rflags to specify success. This would result in indefinite
> rflags value and thus indeterminate return value for guest.
>
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> ---
> Chinese New Year is coming. Happy Spring Festival! ^_^
Happy Spring Festival!
> ---
> arch/x86/kvm/vmx/nested.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
> index 7608924ee8c1..985d3307ec56 100644
> --- a/arch/x86/kvm/vmx/nested.c
> +++ b/arch/x86/kvm/vmx/nested.c
> @@ -5165,7 +5165,7 @@ static int handle_invvpid(struct kvm_vcpu *vcpu)
> break;
> default:
> WARN_ON_ONCE(1);
> - return kvm_skip_emulated_instruction(vcpu);
> + break;
> }
>
> return nested_vmx_succeed(vcpu);
Your patch seems to do the right thing, however, I started wondering if
WARN_ON_ONCE() is the right thing to do. SDM says that "If an
unsupported INVVPID type is specified, the instruction fails." and this
is similar to INVEPT and I decided to check what handle_invept()
does. Well, it does BUG_ON().
Are we doing the right thing in any of these cases?
--
Vitaly
next prev parent reply other threads:[~2020-01-23 8:55 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-23 3:14 [PATCH] KVM: nVMX: set rflags to specify success in handle_invvpid() default case linmiaohe
2020-01-23 8:55 ` Vitaly Kuznetsov [this message]
2020-01-23 9:23 ` Paolo Bonzini
2020-01-23 9:45 ` Vitaly Kuznetsov
2020-01-23 9:54 ` Paolo Bonzini
2020-01-23 18:22 ` Jim Mattson
2020-01-23 23:01 ` Sean Christopherson
2020-01-24 10:53 ` Vitaly Kuznetsov
-- strict thread matches above, loose matches on Subject: below --
2020-01-23 9:36 linmiaohe
2020-02-03 3:29 linmiaohe
2020-02-03 9:48 ` Vitaly Kuznetsov
2020-02-04 1:06 linmiaohe
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=8736c6sga7.fsf@vitty.brq.redhat.com \
--to=vkuznets@redhat.com \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=jmattson@google.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=sean.j.christopherson@intel.com \
--cc=tglx@linutronix.de \
--cc=wanpengli@tencent.com \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.