net: ipv4: 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>
This commit is contained in:
parent
b950d8a5b3
commit
88bebdf5b2
|
@ -240,8 +240,8 @@ static int ip_finish_output2(struct net *net, struct sock *sk, struct sk_buff *s
|
|||
static int ip_finish_output_gso(struct net *net, struct sock *sk,
|
||||
struct sk_buff *skb, unsigned int mtu)
|
||||
{
|
||||
struct sk_buff *segs, *nskb;
|
||||
netdev_features_t features;
|
||||
struct sk_buff *segs;
|
||||
int ret = 0;
|
||||
|
||||
/* common case: seglen is <= mtu
|
||||
|
@ -272,8 +272,7 @@ static int ip_finish_output_gso(struct net *net, struct sock *sk,
|
|||
|
||||
consume_skb(skb);
|
||||
|
||||
do {
|
||||
struct sk_buff *nskb = segs->next;
|
||||
skb_list_walk_safe(segs, segs, nskb) {
|
||||
int err;
|
||||
|
||||
skb_mark_not_on_list(segs);
|
||||
|
@ -281,8 +280,7 @@ static int ip_finish_output_gso(struct net *net, struct sock *sk,
|
|||
|
||||
if (err && ret == 0)
|
||||
ret = err;
|
||||
segs = nskb;
|
||||
} while (segs);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue