On Fri, 23 Oct 2026 at 15:52, Anatoly Burakov <[email protected]> wrote: > > rte_intr_efd_disable() decides whether to close the event FDs based on > max_intr being greater than nb_efd. This is a side effect of how > rte_intr_efd_enable() fills the handle for VFIO MSI-X, where an extra > slot is reserved for the misc interrupt, and only indirectly identifies > the eventfds that EAL created itself. > > Any driver filling the event FD array for a VDEV or EXT handle and > setting max_intr the same way gets its descriptors closed by EAL even > though it owns them. The virtio-user driver does exactly this, so its > callfds are closed by rte_intr_efd_disable() and then closed again by > the driver on uninit. > > Check the interrupt handle type instead, so that only the eventfds > created by rte_intr_efd_enable() for VFIO MSI-X are closed. > > Fixes: b9e0662a931d ("eal/linux: add interrupt API for drivers") > Cc: [email protected] > > Signed-off-by: Anatoly Burakov <[email protected]>
LGTM. Acked-by: David Marchand <[email protected]> -- David Marchand

