Probe allocates qos_caps separately from the netdev. Remove frees the netdev without releasing this allocation. Free the capabilities after the workqueue is drained and before freeing the netdev. This issue was found by our static analysis tool under development. Fixes: 4c1a457cb8b0 ("iavf: add support to exchange qos capabilities") Signed-off-by: Guangshuo Li --- drivers/net/ethernet/intel/iavf/iavf_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c index 2f8a80a11336..a2e7bc4cba88 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -5680,6 +5680,7 @@ static void iavf_remove(struct pci_dev *pdev) pci_set_drvdata(pdev, NULL); + kfree(adapter->qos_caps); free_netdev(netdev); pci_disable_device(pdev); base-commit: 2e54b3e187300893688c2c7517894f5d96732e05