From: Bandan Das <bsd@redhat.com>
To: "Dirk Müller" <dmueller@suse.com>
Cc: kvm@vger.kernel.org, Paolo Bonzini <pbonzini@redhat.com>,
Joerg Roedel <joro@8bytes.org>
Subject: Re: [PATCH] Use WARN_ON_ONCE for missing X86_FEATURE_NRIPS
Date: Sun, 04 Oct 2015 21:15:02 -0400 [thread overview]
Message-ID: <jpg4mi6jeuh.fsf@linux.bootlegged.copy> (raw)
In-Reply-To: <101C0DE6-0CEA-4F15-9E9F-9D2EDF23ED4C@suse.com> ("Dirk \=\?utf-8\?Q\?M\=C3\=BCller\=22's\?\= message of "Fri, 2 Oct 2015 08:43:08 +0200")
Dirk Müller <dmueller@suse.com> writes:
>> I added the warning so that we catch if the next_rip field is being written
>> to (even if the feature isn't supported) by a buggy L1 hypervisor.
>
> Interesting, so how about this patch?
>
>
> From c5c8ea255d680f972cbdfc835cdf352fa78897ae Mon Sep 17 00:00:00 2001
> From: Dirk Mueller <dirk@dmllr.de>
> Date: Fri, 2 Oct 2015 08:35:24 +0200
> Subject: [PATCH] KVM: nSVM: Check for NRIP support before accepting
> control.next_rip
>
> NRIP support itself depends on cpuid Fn8000_000A_EDX[NRIPS], remove
> a WARN_ON_(once) and check for it directly.
>
> Signed-off-by: Dirk Mueller <dmueller@suse.com>
> ---
> arch/x86/kvm/svm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
> index 0a42859..33d36da 100644
> --- a/arch/x86/kvm/svm.c
> +++ b/arch/x86/kvm/svm.c
> @@ -513,8 +513,8 @@ static void skip_emulated_instruction(struct kvm_vcpu *vcpu)
> {
> struct vcpu_svm *svm = to_svm(vcpu);
>
> - if (svm->vmcb->control.next_rip != 0) {
> - WARN_ON_ONCE(!static_cpu_has(X86_FEATURE_NRIPS));
> + if (static_cpu_has(X86_FEATURE_NRIPS) &&
> + svm->vmcb->control.next_rip != 0) {
> svm->next_rip = svm->vmcb->control.next_rip;
> }
Ok, looks good to me. Still, probably a good idea to let the user know if this condition is
hit.
Bandan
next prev parent reply other threads:[~2015-10-05 1:15 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-01 11:43 [PATCH] Use WARN_ON_ONCE for missing X86_FEATURE_NRIPS Dirk Müller
2015-10-01 12:25 ` Paolo Bonzini
2015-10-01 12:45 ` Dirk Müller
2015-10-01 12:31 ` Paolo Bonzini
2015-10-01 22:31 ` Bandan Das
2015-10-02 6:43 ` Dirk Müller
2015-10-05 1:15 ` Bandan Das [this message]
2015-10-05 9:50 ` Joerg Roedel
2015-10-05 16:54 ` Bandan Das
2015-10-05 17:15 ` Joerg Roedel
2015-10-05 17:42 ` Bandan Das
2015-10-06 10:23 ` Joerg Roedel
2015-10-06 18:02 ` Bandan Das
2015-10-05 20:12 ` Dirk Müller
2015-10-05 22:00 ` Bandan Das
2015-10-06 10:28 ` Joerg Roedel
2015-10-06 17:59 ` Bandan Das
2015-10-07 11:03 ` Joerg Roedel
2015-10-07 12:47 ` [PATCH] kvm: svm: Only propagate next_rip when guest supports it Joerg Roedel
2015-10-07 12:57 ` kbuild test robot
2015-10-07 15:48 ` Bandan Das
2015-10-07 16:14 ` Joerg Roedel
2015-10-07 17:03 ` Dirk Müller
2015-10-07 14:58 ` [PATCH] Use WARN_ON_ONCE for missing X86_FEATURE_NRIPS Bandan Das
2015-10-07 15:24 ` Joerg Roedel
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=jpg4mi6jeuh.fsf@linux.bootlegged.copy \
--to=bsd@redhat.com \
--cc=dmueller@suse.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
/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.