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 10:50:49 +0100 From: Heiko Carstens <hca@...ux.ibm.com> To: Gal Pressman <gal@...dia.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 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
Powered by blists - more mailing lists