Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1280957

[PATCH net] ipv6: sctp: implement sctp_v6_destroy_sock()

From Eric Dumazet <eric.dumazet@gmail.com>
Newsgroups linux.kernel
Subject [PATCH net] ipv6: sctp: implement sctp_v6_destroy_sock()
Date 2015-12-01 16:30 +0100
Message-ID <qAV2q-2WT-13@gated-at.bofh.it> (permalink)
References (1 earlier) <qATjY-1Oq-27@gated-at.bofh.it> <qATN0-2eD-11@gated-at.bofh.it> <qATWG-2hS-7@gated-at.bofh.it> <qAU6m-2l1-23@gated-at.bofh.it> <qAUg2-2ob-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Eric Dumazet <edumazet@google.com>

Dmitry Vyukov reported a memory leak using IPV6 SCTP sockets.

We need to call inet6_destroy_sock() to properly release
inet6 specific fields.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
 net/sctp/socket.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index 897c01c029ca..9d0b9bae9052 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -7375,6 +7375,13 @@ struct proto sctp_prot = {
 
 #if IS_ENABLED(CONFIG_IPV6)
 
+#include <net/transp_v6.h>
+static void sctp_v6_destroy_sock(struct sock *sk)
+{
+	sctp_destroy_sock(sk);
+	inet6_destroy_sock(sk);
+}
+
 struct proto sctpv6_prot = {
 	.name		= "SCTPv6",
 	.owner		= THIS_MODULE,
@@ -7384,7 +7391,7 @@ struct proto sctpv6_prot = {
 	.accept		= sctp_accept,
 	.ioctl		= sctp_ioctl,
 	.init		= sctp_init_sock,
-	.destroy	= sctp_destroy_sock,
+	.destroy	= sctp_v6_destroy_sock,
 	.shutdown	= sctp_shutdown,
 	.setsockopt	= sctp_setsockopt,
 	.getsockopt	= sctp_getsockopt,


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

memory leak in do_ipv6_setsockopt Dmitry Vyukov <dvyukov@google.com> - 2015-12-01 13:30 +0100
  Re: memory leak in do_ipv6_setsockopt Eric Dumazet <eric.dumazet@gmail.com> - 2015-12-01 14:40 +0100
    Re: memory leak in do_ipv6_setsockopt Daniel Borkmann <daniel@iogearbox.net> - 2015-12-01 15:10 +0100
      Re: memory leak in do_ipv6_setsockopt Eric Dumazet <eric.dumazet@gmail.com> - 2015-12-01 15:20 +0100
        Re: memory leak in do_ipv6_setsockopt Daniel Borkmann <daniel@iogearbox.net> - 2015-12-01 15:30 +0100
          Re: memory leak in do_ipv6_setsockopt Eric Dumazet <eric.dumazet@gmail.com> - 2015-12-01 15:40 +0100
            Re: memory leak in do_ipv6_setsockopt Daniel Borkmann <daniel@iogearbox.net> - 2015-12-01 15:50 +0100
            [PATCH net] ipv6: sctp: implement sctp_v6_destroy_sock() Eric Dumazet <eric.dumazet@gmail.com> - 2015-12-01 16:30 +0100
              Re: [PATCH net] ipv6: sctp: implement sctp_v6_destroy_sock() Daniel Borkmann <daniel@iogearbox.net> - 2015-12-01 17:00 +0100
              Re: [PATCH net] ipv6: sctp: implement sctp_v6_destroy_sock() David Miller <davem@davemloft.net> - 2015-12-03 18:10 +0100

csiph-web