From: Maxime Leroy <maxime.le...@6wind.com> Some drivers like virtual ones don't specify any driver pointer in the structure rte_eth_dev.
To prevent segfault, we should check if this pointer is NULL before dereferencing it. Signed-off-by: Maxime Leroy <maxime.leroy at 6wind.com> Signed-off-by: David Marchand <david.marchand at 6wind.com> --- lib/librte_ether/rte_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 7fa5717..750e4b5 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -522,6 +522,9 @@ rte_eth_dev_is_detachable(uint8_t port_id) } } + if (rte_eth_devices[port_id].driver == NULL) + return 0; + drv_flags = rte_eth_devices[port_id].driver->pci_drv.drv_flags; return drv_flags & RTE_PCI_DRV_DETACHABLE; } -- 1.9.1