lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 23 Jan 2022 11:53:54 +0200 From: Gal Pressman <gal@...dia.com> To: Heiko Carstens <hca@...ux.ibm.com> Cc: Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org, Tariq Toukan <tariqt@...dia.com>, Saeed Mahameed <saeedm@...dia.com> Subject: Re: [PATCH net 2/2] net: Flush deferred skb free on socket destroy On 23/01/2022 11:50, Heiko Carstens wrote: > On Mon, Jan 17, 2022 at 11:27:33AM +0200, Gal Pressman wrote: >> The cited Fixes patch moved to a deferred skb approach where the skbs >> are not freed immediately under the socket lock. Add a WARN_ON_ONCE() >> to verify the deferred list is empty on socket destroy, and empty it to >> prevent potential memory leaks. >> >> Fixes: f35f821935d8 ("tcp: defer skb freeing after socket lock is released") >> Signed-off-by: Gal Pressman <gal@...dia.com> >> --- >> net/core/sock.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/net/core/sock.c b/net/core/sock.c >> index f32ec08a0c37..4ff806d71921 100644 >> --- a/net/core/sock.c >> +++ b/net/core/sock.c >> @@ -2049,6 +2049,9 @@ void sk_destruct(struct sock *sk) >> { >> bool use_call_rcu = sock_flag(sk, SOCK_RCU_FREE); >> >> + WARN_ON_ONCE(!llist_empty(&sk->defer_list)); >> + sk_defer_free_flush(sk); >> + > This leads to a link error if CONFIG_INET is not set: > > s390x-11.2.0-ld: net/core/sock.o: in function `sk_defer_free_flush': > linux/./include/net/tcp.h:1378: undefined reference to `__sk_defer_free_flush' > make: *** [Makefile:1155: vmlinux] Error 1 Thanks, it is fixed in: https://lore.kernel.org/netdev/20220120123440.9088-1-gal@nvidia.com/
Powered by blists - more mailing lists