> From: Chatre, Reinette <reinette.chatre@xxxxxxxxx> > Sent: Saturday, April 29, 2023 2:24 AM > > Hi Kevin, > > On 4/27/2023 11:33 PM, Tian, Kevin wrote: > >> From: Chatre, Reinette <reinette.chatre@xxxxxxxxx> > >> Sent: Friday, April 28, 2023 1:36 AM > >> > >> @@ -55,17 +80,28 @@ static void vfio_send_intx_eventfd(void *opaque, > >> void *unused) > >> { > >> struct vfio_pci_core_device *vdev = opaque; > >> > >> - if (likely(is_intx(vdev) && !vdev->virq_disabled)) > >> - eventfd_signal(vdev->ctx[0].trigger, 1); > >> + if (likely(is_intx(vdev) && !vdev->virq_disabled)) { > >> + struct vfio_pci_irq_ctx *ctx; > >> + > >> + ctx = vfio_irq_ctx_get(vdev, 0); > >> + if (!ctx) > >> + return; > > > > if this error happens it implies a kernel bug since the same check > > has been done in vfio_intx_enable(). Then should be a WARN_ON(). > > Sure. Considering that if these are triggered it may result > in many instances, so perhaps WARN_ON_ONCE()? yes. > > > ditto for other intx functions which can be called only after intx > > is enabled. > > It seems the instances in this category can be identified as the places > where the array contents is currently used without any checks. > > I am planning on the following changes: > that looks good to me