sfc: Use dev_kfree_skb() in efx_end_loopback()
Fix CID 102619 in the Coverity report on Linux. efx_end_loopback() iterates over an array of skb pointers of which some may be null (if efx_begin_loopback() failed). It should not use dev_kfree_skb_irq(), which requires non-null pointers. In practice this is safe because it does not run in interrupt context and therefore always ends up calling dev_kfree_skb(), which does allow null pointers. But we should make that explicit. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
parent
a4ed2d4cd9
commit
e3ed2bdfc4
|
@ -488,7 +488,7 @@ static int efx_end_loopback(struct efx_tx_queue *tx_queue,
|
|||
skb = state->skbs[i];
|
||||
if (skb && !skb_shared(skb))
|
||||
++tx_done;
|
||||
dev_kfree_skb_any(skb);
|
||||
dev_kfree_skb(skb);
|
||||
}
|
||||
|
||||
netif_tx_unlock_bh(efx->net_dev);
|
||||
|
|
Loading…
Reference in New Issue