[PATCH 0/2] x86: fix a stale ExtINT request after LINT0 is masked

Daniil Tatianin posted 2 patches 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260905004153.836866-1-d-tatianin@yandex-team.ru
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>
hw/intc/apic.c                      | 3 ++-
target/i386/tcg/system/seg_helper.c | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
[PATCH 0/2] x86: fix a stale ExtINT request after LINT0 is masked
Posted by Daniil Tatianin 3 weeks ago
This fixes a few problems that eventually lead to the guest receiving a
bogus #GP due to a stale interrupt still being asserted. Either patch
fixes the problem, but the first one fixes the actual root cause, and
the second one simply aligns interrupt handling with KVM, which made
the bug invisible by simply dropping the IRQ targeting a bogus vector.

Daniil Tatianin (2):
  hw/intc/apic: don't drop irq line re-evaluation when LINT0 is masked
  target/i386: drop attempts to deliver an interrupt without a vector

 hw/intc/apic.c                      | 3 ++-
 target/i386/tcg/system/seg_helper.c | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

-- 
2.43.0
Re: [PATCH 0/2] x86: fix a stale ExtINT request after LINT0 is masked
Posted by Daniil Tatianin 1 week, 4 days ago
Ping :)

On 9/5/26 3:41 AM, Daniil Tatianin wrote:
> This fixes a few problems that eventually lead to the guest receiving a
> bogus #GP due to a stale interrupt still being asserted. Either patch
> fixes the problem, but the first one fixes the actual root cause, and
> the second one simply aligns interrupt handling with KVM, which made
> the bug invisible by simply dropping the IRQ targeting a bogus vector.
>
> Daniil Tatianin (2):
>    hw/intc/apic: don't drop irq line re-evaluation when LINT0 is masked
>    target/i386: drop attempts to deliver an interrupt without a vector
>
>   hw/intc/apic.c                      | 3 ++-
>   target/i386/tcg/system/seg_helper.c | 3 +++
>   2 files changed, 5 insertions(+), 1 deletion(-)
>