Patch "dccp/tcp: do not inherit mc_list from parent" has been added to the 3.18-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx> know about it.


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

From: Eric Dumazet <edumazet@xxxxxxxxxx>


[ 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@xxxxxxxxxx>
Reported-by: Pray3r <pray3r.z@xxxxxxxxx>
Reported-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
Tested-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 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@xxxxxxxxxx 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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]