All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: stsp <stsp2@yandex.ru>
To: Paolo Bonzini <pbonzini@redhat.com>, Jim Mattson <jmattson@google.com>
Cc: Sean Christopherson <seanjc@google.com>,
	kvm@vger.kernel.org, David Woodhouse <dwmw@amazon.co.uk>,
	"ntsironis@arrikto.com" <ntsironis@arrikto.com>
Subject: Re: exception vs SIGALRM race (was: Re: guest/host mem out of sync on core2duo?)
Date: Wed, 7 Jul 2021 01:22:38 +0300	[thread overview]
Message-ID: <eadbc511-3270-8a8e-a2d8-a8eb1fccb8c0@yandex.ru> (raw)
In-Reply-To: <1501d6d3-4dab-3eca-1d82-1e1954e293e1@redhat.com>

06.07.2021 19:28, Paolo Bonzini пишет:
> On 29/06/21 00:27, Jim Mattson wrote:
>>> static int kvm_vcpu_ready_for_interrupt_injection(struct kvm_vcpu 
>>> *vcpu)
>>> {
>>>           return kvm_arch_interrupt_allowed(vcpu) &&
>>>                   kvm_cpu_accept_dm_intr(vcpu);
>>> }
>>   It looks like Paolo may have broken this in commit 71cc849b7093
>> ("KVM: x86: Fix split-irqchip vs interrupt injection window request").
>> The commit message seems focused only on
>> vcpu->arch.interrupt.injected. Perhaps he overlooked
>> vcpu->arch.exception.injected.
>
> I was expecting the exception to be injected first and the interrupt 
> second.
> But something like this should fix it:
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 21877ad2214e..dddff682c9c2 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -4277,6 +4277,9 @@ static int kvm_vcpu_ioctl_set_lapic(struct 
> kvm_vcpu *vcpu,
>
>  static int kvm_cpu_accept_dm_intr(struct kvm_vcpu *vcpu)
>  {
> +    if (kvm_event_needs_reinjection(vcpu))
> +        return false;
> +
>      /*
>       * We can accept userspace's request for interrupt injection
>       * as long as we have a place to store the interrupt number.
>
> I'll figure out a selftest to better understand what's going on. In 
> the meanwhile
> Stas can test it!
I confirm that this works, thanks.
Sadly the problematic patch was
CCed to -stable, and is now present
in all kernels, like ubuntu's 5.8.0-55-generic.
Since AFAICT it didn't contain the
important/security fix, I think it
shouldn't have been CCed to -stable.

Can we revert it from -stable?
That will mean a relatively quick
fix for most of current users.

  reply	other threads:[~2021-07-06 22:22 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-12 22:49 guest/host mem out of sync on core2duo? stsp
2021-06-13 12:36 ` stsp
2021-06-14 17:06 ` Sean Christopherson
2021-06-14 17:32   ` stsp
2021-06-17 14:42     ` Sean Christopherson
2021-06-18 15:59       ` stsp
2021-06-18 21:07         ` Jim Mattson
2021-06-18 21:55           ` stsp
2021-06-18 22:06             ` Jim Mattson
2021-06-18 22:26               ` stsp
2021-06-18 22:32               ` Sean Christopherson
2021-06-19  0:11                 ` stsp
2021-06-19  0:54                   ` Sean Christopherson
2021-06-19  9:18                     ` stsp
2021-06-21  2:34           ` exception vs SIGALRM race (was: Re: guest/host mem out of sync on core2duo?) stsp
2021-06-21 22:33             ` Jim Mattson
2021-06-21 23:32               ` stsp
2021-06-22  0:27               ` stsp
2021-06-28 21:47                 ` Jim Mattson
2021-06-28 21:50                   ` stsp
2021-06-28 22:00                   ` stsp
2021-06-28 22:27                     ` Jim Mattson
2021-07-06 16:28                       ` Paolo Bonzini
2021-07-06 22:22                         ` stsp [this message]
2021-07-06 23:41                           ` Paolo Bonzini
2021-06-23 23:38               ` exception vs SIGALRM race (with test-case now!) stsp
2021-06-24  0:11                 ` stsp
2021-06-24  0:25                   ` stsp
2021-06-24 18:05                     ` exception vs SIGALRM race on core2 CPUs (with qemu-based test-case this time!) stsp
2021-06-24 18:07                     ` stsp
2021-06-25 23:35                       ` exception vs SIGALRM race on core2 CPUs (with fix!) stsp
2021-06-26  0:15                         ` Jim Mattson
2021-06-26  0:35                           ` stsp
2021-06-26 21:50                           ` stsp
2021-06-27 12:13                           ` stsp
2021-06-26 14:03               ` exception vs SIGALRM race (another patch) stsp

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=eadbc511-3270-8a8e-a2d8-a8eb1fccb8c0@yandex.ru \
    --to=stsp2@yandex.ru \
    --cc=dwmw@amazon.co.uk \
    --cc=jmattson@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=ntsironis@arrikto.com \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.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.