All of lore.kernel.org
 help / color / mirror / Atom feed
* Patch "dccp/tcp: do not inherit mc_list from parent" has been added to the 3.18-stable tree
@ 2017-06-02  6:01 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2017-06-02  6:01 UTC (permalink / raw)
  To: edumazet, andreyknvl, davem, gregkh, pray3r.z; +Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    dccp/tcp: do not inherit mc_list from parent

to the 3.18-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     dccp-tcp-do-not-inherit-mc_list-from-parent.patch
and it can be found in the queue-3.18 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From foo@baz Fri Jun  2 12:04:25 JST 2017
From: Eric Dumazet <edumazet@google.com>
Date: Tue, 9 May 2017 06:29:19 -0700
Subject: dccp/tcp: do not inherit mc_list from parent

From: Eric Dumazet <edumazet@google.com>


[ Upstream commit 657831ffc38e30092a2d5f03d385d710eb88b09a ]

syzkaller found a way to trigger double frees from ip_mc_drop_socket()

It turns out that leave a copy of parent mc_list at accept() time,
which is very bad.

Very similar to commit 8b485ce69876 ("tcp: do not inherit
fastopen_req from parent")

Initial report from Pray3r, completed by Andrey one.
Thanks a lot to them !

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Pray3r <pray3r.z@gmail.com>
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/ipv4/inet_connection_sock.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -677,6 +677,8 @@ struct sock *inet_csk_clone_lock(const s
 		inet_sk(newsk)->inet_sport = htons(inet_rsk(req)->ir_num);
 		newsk->sk_write_space = sk_stream_write_space;
 
+		inet_sk(newsk)->mc_list = NULL;
+
 		newsk->sk_mark = inet_rsk(req)->ir_mark;
 
 		newicsk->icsk_retransmits = 0;


Patches currently in stable-queue which might be from edumazet@google.com are

queue-3.18/sctp-do-not-inherit-ipv6_-mc-ac-fl-_list-from-parent.patch
queue-3.18/tcp-avoid-fastopen-api-to-be-used-on-af_unspec.patch
queue-3.18/tcp-eliminate-negative-reordering-in-tcp_clean_rtx_queue.patch
queue-3.18/netem-fix-skb_orphan_partial.patch
queue-3.18/dccp-tcp-do-not-inherit-mc_list-from-parent.patch
queue-3.18/tcp-avoid-fragmenting-peculiar-skbs-in-sack.patch
queue-3.18/ipv6-fix-out-of-bound-writes-in-__ip6_append_data.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-06-02  6:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-02  6:01 Patch "dccp/tcp: do not inherit mc_list from parent" has been added to the 3.18-stable tree gregkh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.