HomeFreeBSD

ixv: Check cap return before MSI-X enable write

Description

ixv: Check cap return before MSI-X enable write

In the QEMU workaround code in if_ixv.c, the ixv driver calls
pci_find_cap(dev, PCIY_MSIX, &rid). It is not checking the return code
from that function and the function appears to always be failing. This
then causes the driver to use the rid variable uninitialized, which
will mean setting a bit at an arbitrary offset in pci config space. For
now, this seems to have no adverse impact, but it could easily cause
very subtle problems.

PR: 207037
MFC after: 3 days
Sponsored by: BBOX.io

Details

Provenance
Jeremiah Lott <jlott@averesystems.com>Authored on Oct 27 2024, 7:18 AM
Kevin Bowling <kbowling@FreeBSD.org>Committed on Oct 27 2024, 7:18 AM
Parents
rG439fa16e1fd3: x86: do not leak msi_lock in msix_alloc() on iommu remapping failure
Branches
Unknown
Tags
Unknown