Patch "dccp/tcp: do not inherit mc_list from parent" has been added to the 4.11-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 4.11-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-4.11 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 Wed May 31 09:13:10 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
@@ -794,6 +794,8 @@ struct sock *inet_csk_clone_lock(const s
 		/* listeners have SOCK_RCU_FREE, not the children */
 		sock_reset_flag(newsk, SOCK_RCU_FREE);
 
+		inet_sk(newsk)->mc_list = NULL;
+
 		newsk->sk_mark = inet_rsk(req)->ir_mark;
 		atomic64_set(&newsk->sk_cookie,
 			     atomic64_read(&inet_rsk(req)->ir_cookie));


Patches currently in stable-queue which might be from edumazet@xxxxxxxxxx are

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



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