qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 00/20] pc,virtio,pci: fixes, features


From: Peter Maydell
Subject: Re: [PULL 00/20] pc,virtio,pci: fixes, features
Date: Tue, 23 Mar 2021 10:50:05 +0000

On Mon, 22 Mar 2021 at 22:56, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Mon, Mar 22, 2021 at 06:46:06PM +0000, Peter Maydell wrote:
> > This happens because pm_update_sci() calls pci_irq_handler(),
> > which calls pci_intx(pci_dev), which returns -1, which is not
> > a valid interrupt number to call pci_irq_handler() with.
> >
> > Q: given that pci_irq_handler() says it must only be called with
> > an irqnum in [0..3], shouldn't pci_set_irq() be a bit more
> > cautious than to pull a byte directly out of PCI_INTERRUPT_PIN
> > and assume it's valid? (Is this guest-writable, or is it read-only?)
>
> It's read-only.

Ah, so if a device model (a) doesn't set the value to a correct
interrupt number and then (b) triggers an interrupt for itself,
then that's a device model bug ? It might be worth assert()ing
that the irqnum is valid, just to catch this kind of bug a bit
more obviously.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]