Patch "inet: tcp: fix inetpeer_set_addr_v4()" has been added to the 4.3-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
inet: tcp: fix inetpeer_set_addr_v4()
to the 4.3-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:
inet-tcp-fix-inetpeer_set_addr_v4.patch
and it can be found in the queue-4.3 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Wed Dec 30 19:48:47 PST 2015
From: Eric Dumazet <[email protected]>
Date: Tue, 15 Dec 2015 20:56:44 -0800
Subject: inet: tcp: fix inetpeer_set_addr_v4()
From: Eric Dumazet <[email protected]>
[ Upstream commit 887dc9f2cef6e98dcccf807da5e6faf4f60ba483 ]
David Ahern added a vif field in the a4 part of inetpeer_addr struct.
This broke IPv4 TCP fast open client side and more generally tcp metrics cache, because inetpeer_addr_cmp() is now comparing two u32 instead of one.
inetpeer_set_addr_v4() needs to properly init vif field, otherwise the comparison result depends on uninitialized data.
--- include/net/inetpeer.h | 1 + 1 file changed, 1 insertion(+)
include/net/inetpeer.h +1 -0
@@ -78,6 +78,7 @@ void inet_initpeers(void) __init;static inline void inetpeer_set_addr_v4 (struct inetpeer_addr *iaddr,__be32 ip) { iaddr->a4.addr = ip; + iaddr->a4.vif =0 ; iaddr->family =AF_INET ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.3/inet-tcp-fix-inetpeer_set_addr_v4.patch queue-4.3/ipv6-sctp-clone-options-to-avoid-use-after-free.patch queue-4.3/tcp-restore-fastopen-with-no-data-in-syn-packet.patch queue-4.3/net_sched-make-qdisc_tree_decrease_qlen-work-for-non-mq.patch queue-4.3/net-fix-ip-early-demux-races.patch