Patch "ipv6/udp: use sticky pktinfo egress ifindex on connect()" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
ipv6/udp: use sticky pktinfo egress ifindex on connect()
to the 4.4-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:
ipv6-udp-use-sticky-pktinfo-egress-ifindex-on-connect.patch
and it can be found in the queue-4.4 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 Mon Feb 29 14:33:50 PST 2016
From: Paolo Abeni <[email protected]>
Date: Fri, 29 Jan 2016 12:30:20 +0100
Subject: ipv6/udp: use sticky pktinfo egress ifindex on connect()
From: Paolo Abeni <[email protected]>
[ Upstream commit 1cdda91871470f15e79375991bd2eddc6e86ddb1 ]
Currently, the egress interface index specified via IPV6_PKTINFO is ignored by __ip6_datagram_connect(), so that RFC 3542 section 6.7 can be subverted when the user space application calls connect() before sendmsg().
Fix it by initializing properly flowi6_oif in connect() before performing the route lookup.
--- net/ipv6/datagram.c | 3 +++ 1 file changed, 3 insertions(+)
net/ipv6/datagram.c +3 -0
@@ -162,6 +162,9 @@ ipv4_connected: fl6.fl6_dport = inet->inet_dport; fl6.fl6_sport = inet->inet_sport; +if (!fl6.flowi6_oif) + fl6.flowi6_oif = np->sticky_pktinfo.ipi6_ifindex; +if (!fl6.flowi6_oif && (addr_type&IPV6_ADDR_MULTICAST )) fl6.flowi6_oif = np->mcast_oif;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/ipv6-udp-use-sticky-pktinfo-egress-ifindex-on-connect.patch queue-4.4/ipv6-enforce-flowi6_oif-usage-in-ip6_dst_lookup_tail.patch queue-4.4/lwt-fix-rx-checksum-setting-for-lwt-devices-tunneling-over-ipv6.patch