net: fix sk_forward_alloc corruption
On UDP sockets, we must call skb_free_datagram() with socket locked, or risk sk_forward_alloc corruption. This requirement is not respected in SUNRPC. Add a convenient helper, skb_free_datagram_locked() and use it in SUNRPC Reported-by: Francis Moreau <francis.moro@gmail.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Šī revīzija ir iekļauta:

revīziju iesūtīja
David S. Miller

vecāks
63ca2d74ea
revīzija
9d410c7960
@@ -999,9 +999,7 @@ try_again:
|
||||
err = ulen;
|
||||
|
||||
out_free:
|
||||
lock_sock(sk);
|
||||
skb_free_datagram(sk, skb);
|
||||
release_sock(sk);
|
||||
skb_free_datagram_locked(sk, skb);
|
||||
out:
|
||||
return err;
|
||||
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user