Commit b423e54b authored by Xiaomeng Tong's avatar Xiaomeng Tong Committed by David S. Miller

myri10ge: fix an incorrect free for skb in myri10ge_sw_tso

All remaining skbs should be released when myri10ge_xmit fails to
transmit a packet. Fix it within another skb_list_walk_safe.
Signed-off-by: default avatarXiaomeng Tong <xiam0nd.tong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent afb8e246
...@@ -2903,11 +2903,9 @@ static netdev_tx_t myri10ge_sw_tso(struct sk_buff *skb, ...@@ -2903,11 +2903,9 @@ static netdev_tx_t myri10ge_sw_tso(struct sk_buff *skb,
status = myri10ge_xmit(curr, dev); status = myri10ge_xmit(curr, dev);
if (status != 0) { if (status != 0) {
dev_kfree_skb_any(curr); dev_kfree_skb_any(curr);
if (segs != NULL) { skb_list_walk_safe(next, curr, next) {
curr = segs;
segs = next;
curr->next = NULL; curr->next = NULL;
dev_kfree_skb_any(segs); dev_kfree_skb_any(curr);
} }
goto drop; goto drop;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment