Skip to content
  • Mitchell Horne's avatar
    em: fix a null de-reference in em_free_pci_resources · a3cd2439
    Mitchell Horne authored
    A failure in iflib_device_register() can result in
    em_free_pci_resources() being called after receive queues have already
    been freed. In particular, a failure to allocate IRQ resources will goto
    fail_queues, where IFDI_QUEUES_FREE() will be called via
    iflib_tx_structures_free(), preceding the call to IFDI_DETACH().
    
    Cope with this by checking adapter->rx_queues before dereferencing it.
    A similar check is present in ixgbe(4) and ixl(4).
    
    MFC after:	1 week
    Sponsored by:	NetApp, Inc.
    Sponsored by:	Klara, Inc.
    Differential Revision:	https://reviews.freebsd.org/D27260
    a3cd2439