linux/net/ipv6
Phil Sutter a0a9f33bdf net/ipv6: update flowi6_oif in ip6_dst_lookup_flow if not set
Newly created flows don't have flowi6_oif set (at least if the
associated socket is not interface-bound). This leads to a mismatch in
__xfrm6_selector_match() for policies which specify an interface in the
selector (sel->ifindex != 0).

Backtracing shows this happens in code-paths originating from e.g.
ip6_datagram_connect(), rawv6_sendmsg() or tcp_v6_connect(). (UDP was
not tested for.)

In summary, this patch fixes policy matching on outgoing interface for
locally generated packets.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-20 12:59:32 -07:00
..
netfilter netfilter: x_tables: remove XT_TABLE_INFO_SZ and a dereference. 2015-06-15 20:19:20 +02:00
Kconfig net: Build IPv6 into kernel by default 2015-07-13 13:10:21 -07:00
Makefile
addrconf.c ipv6: Remove unused arguments for __ipv6_dev_get_saddr(). 2015-07-16 01:00:56 -07:00
addrconf_core.c ipv6: fix possible use after free of dev stats 2015-06-08 12:12:45 -07:00
addrlabel.c
af_inet6.c ipv6: Nonlocal bind 2015-07-09 21:09:10 -07:00
ah6.c
anycast.c
datagram.c ipv6: use flag instead of u16 for hop in inet6_skb_parm 2015-07-09 15:06:59 -07:00
esp6.c
exthdrs.c ipv6: use flag instead of u16 for hop in inet6_skb_parm 2015-07-09 15:06:59 -07:00
exthdrs_core.c
exthdrs_offload.c
fib6_rules.c
icmp.c
inet6_connection_sock.c
inet6_hashtables.c inet: inet_twsk_deschedule factorization 2015-07-09 15:12:20 -07:00
ip6_checksum.c
ip6_fib.c
ip6_flowlabel.c
ip6_gre.c
ip6_icmp.c
ip6_input.c ipv6: Make MLD packets to only be processed locally 2015-07-03 09:52:38 -07:00
ip6_offload.c
ip6_offload.h
ip6_output.c net/ipv6: update flowi6_oif in ip6_dst_lookup_flow if not set 2015-07-20 12:59:32 -07:00
ip6_tunnel.c
ip6_udp_tunnel.c
ip6_vti.c vti6: Add pmtu handling to vti6_xmit. 2015-06-01 16:03:43 -07:00
ip6mr.c
ipcomp6.c
ipv6_sockglue.c
mcast.c
mcast_snoop.c
mip6.c
ndisc.c
netfilter.c netfilter: bridge: forward IPv6 fragmented packets 2015-06-12 14:10:12 +02:00
output_core.c netfilter: don't pull include/linux/netfilter.h from netns headers 2015-06-18 21:14:31 +02:00
ping.c
proc.c
protocol.c
raw.c ipv6: Nonlocal bind 2015-07-09 21:09:10 -07:00
reassembly.c
route.c net-ipv6: Delete an unnecessary check before the function call "free_percpu" 2015-07-03 09:27:42 -07:00
sit.c
syncookies.c tcp: get_cookie_sock() consolidation 2015-06-07 15:19:52 -07:00
sysctl_net_ipv6.c ipv6: Nonlocal bind 2015-07-09 21:09:10 -07:00
tcp_ipv6.c inet: inet_twsk_deschedule factorization 2015-07-09 15:12:20 -07:00
tcpv6_offload.c
tunnel6.c
udp.c udp: fix behavior of wrong checksums 2015-05-31 21:42:18 -07:00
udp_impl.h
udp_offload.c
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c