Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: sched: use skb_list_walk_safe helper for gso segments

This is a straight-forward conversion case for the new function, keeping
the flow of the existing code as intact as possible.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Jason A. Donenfeld and committed by
David S. Miller
b950d8a5 2cec4448

+2 -6
+1 -3
net/sched/sch_cake.c
··· 1682 1682 if (IS_ERR_OR_NULL(segs)) 1683 1683 return qdisc_drop(skb, sch, to_free); 1684 1684 1685 - while (segs) { 1686 - nskb = segs->next; 1685 + skb_list_walk_safe(segs, segs, nskb) { 1687 1686 skb_mark_not_on_list(segs); 1688 1687 qdisc_skb_cb(segs)->pkt_len = segs->len; 1689 1688 cobalt_set_enqueue_time(segs, now); ··· 1695 1696 slen += segs->len; 1696 1697 q->buffer_used += segs->truesize; 1697 1698 b->packets++; 1698 - segs = nskb; 1699 1699 } 1700 1700 1701 1701 /* stats */
+1 -3
net/sched/sch_tbf.c
··· 155 155 return qdisc_drop(skb, sch, to_free); 156 156 157 157 nb = 0; 158 - while (segs) { 159 - nskb = segs->next; 158 + skb_list_walk_safe(segs, segs, nskb) { 160 159 skb_mark_not_on_list(segs); 161 160 qdisc_skb_cb(segs)->pkt_len = segs->len; 162 161 len += segs->len; ··· 166 167 } else { 167 168 nb++; 168 169 } 169 - segs = nskb; 170 170 } 171 171 sch->q.qlen += nb; 172 172 if (nb > 1)