mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
net: datagram: drop 'destructor' argument from several helpers
The only users for such argument are the UDP protocol and the UNIX socket family. We can safely reclaim the accounted memory directly from the UDP code and, after the previous patch, we can do scm stats accounting outside the datagram helpers. Overall this cleans up a bit some datagram-related helpers, and avoids an indirect call per packet in the UDP receive path. v1 -> v2: - call scm_stat_del() only when not peeking - Kirill - fix build issue with CONFIG_INET_ESPINTCP Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7782040b95
commit
e427cad6ee
5 changed files with 23 additions and 37 deletions
|
@ -2106,9 +2106,12 @@ static int unix_dgram_recvmsg(struct socket *sock, struct msghdr *msg,
|
|||
|
||||
skip = sk_peek_offset(sk, flags);
|
||||
skb = __skb_try_recv_datagram(sk, &sk->sk_receive_queue, flags,
|
||||
scm_stat_del, &skip, &err, &last);
|
||||
if (skb)
|
||||
&skip, &err, &last);
|
||||
if (skb) {
|
||||
if (!(flags & MSG_PEEK))
|
||||
scm_stat_del(sk, skb);
|
||||
break;
|
||||
}
|
||||
|
||||
mutex_unlock(&u->iolock);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue