[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1906241236390.32342@nanos.tec.linutronix.de>
Date: Mon, 24 Jun 2019 12:37:25 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Jan Kiszka <jan.kiszka@...mens.com>
cc: Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
x86@...nel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: x86: Spurious vectors not handled robustly
On Mon, 24 Jun 2019, Jan Kiszka wrote:
> On 24.06.19 12:09, Thomas Gleixner wrote:
> > If it is a vectored one it _IS_ acked.
> >
> > inc_irq_stat(irq_spurious_count);
> >
> > /* see sw-dev-man vol 3, chapter 7.4.13.5 */
> > pr_info("spurious APIC interrupt through vector %02x on CPU#%d, "
> > "should never happen.\n", vector, smp_processor_id());
> >
> > and the vector through which that comes is printed correctly, unless
> > regs->orig_ax is hosed.
>
> ...which is exactly the case: Since that commit, all unused vectors share the
> same entry point, spurious_interrupt, see idt_setup_apic_and_irq_gates(). And
> that entry point sets orig_ax to ~0xff.
Bah. Of course I did not look at that ...
/me goes back to stare at the code.
Thanks,
tglx
Powered by blists - more mailing lists