ixgbe: Fix FCOE memory leak for DDP packets
This patch is meant to fix a memory leak found via code review for FCOE. Specifically on DDP flows the SKBs were being dropped without being recycled, freed, or given to the stack. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
committed by
Jeff Kirsher
parent
d80bcf46f1
commit
63d635b21c
@@ -1459,9 +1459,11 @@ static void ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector,
|
|||||||
if (ixgbe_rx_is_fcoe(adapter, rx_desc)) {
|
if (ixgbe_rx_is_fcoe(adapter, rx_desc)) {
|
||||||
ddp_bytes = ixgbe_fcoe_ddp(adapter, rx_desc, skb,
|
ddp_bytes = ixgbe_fcoe_ddp(adapter, rx_desc, skb,
|
||||||
staterr);
|
staterr);
|
||||||
if (!ddp_bytes)
|
if (!ddp_bytes) {
|
||||||
|
dev_kfree_skb_any(skb);
|
||||||
goto next_desc;
|
goto next_desc;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif /* IXGBE_FCOE */
|
#endif /* IXGBE_FCOE */
|
||||||
ixgbe_receive_skb(q_vector, skb, staterr, rx_ring, rx_desc);
|
ixgbe_receive_skb(q_vector, skb, staterr, rx_ring, rx_desc);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user