android_kernel_motorola_sm6375/net/ipv6
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Guillaume Nault e71554a09e ipv6: Fix tcp socket connection with DSCP.
commit 8230680f36fd1525303d1117768c8852314c488c upstream.

Take into account the IPV6_TCLASS socket option (DSCP) in
tcp_v6_connect(). Otherwise fib6_rule_match() can't properly
match the DSCP value, resulting in invalid route lookup.

For example:

  ip route add unreachable table main 2001:db8::10/124

  ip route add table 100 2001:db8::10/124 dev eth0
  ip -6 rule add dsfield 0x04 table 100

  echo test | socat - TCP6:[2001:db8::11]:54321,ipv6-tclass=0x04

Without this patch, socat fails at connect() time ("No route to host")
because the fib-rule doesn't jump to table 100 and the lookup ends up
being done in the main table.

Fixes: 2cc67cc731 ("[IPV6] ROUTE: Routing by Traffic Class.")
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-22 12:50:41 +01:00
..
ila
netfilter netfilter: nft_fib: Fix for rpath check with VRF devices 2022-10-26 13:22:25 +02:00
addrconf.c ipv6: take care of disable_policy when restoring routes 2022-07-07 17:36:47 +02:00
addrconf_core.c
addrlabel.c ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to network 2022-11-25 17:42:05 +01:00
af_inet6.c ip: Fix data-races around sysctl_ip_no_pmtu_disc. 2022-07-29 17:14:10 +02:00
ah6.c
anycast.c
calipso.c
datagram.c ipv6: Fix datagram socket connection with DSCP. 2023-02-22 12:50:41 +01:00
esp6.c esp: limit skb_page_frag_refill use to a single page 2022-07-12 16:30:45 +02:00
esp6_offload.c
exthdrs.c
exthdrs_core.c
exthdrs_offload.c
fib6_notifier.c
fib6_rules.c ipv6: fix memory leak in fib6_rule_suppress 2021-12-08 09:01:13 +01:00
fou6.c
icmp.c
inet6_connection_sock.c
inet6_hashtables.c secure_seq: use the 64 bits of the siphash for port offset calculation 2022-06-06 08:33:49 +02:00
ip6_checksum.c
ip6_fib.c ipv6: annotate accesses to fn->fn_sernum 2022-02-01 17:24:38 +01:00
ip6_flowlabel.c
ip6_gre.c ipv6: ensure sane device mtu in tunnels 2023-02-06 07:52:51 +01:00
ip6_icmp.c
ip6_input.c tcp/udp: Make early_demux back namespacified. 2022-11-10 17:57:55 +01:00
ip6_offload.c gso: do not skip outer ip header in case of ipip and net_failover 2022-03-02 11:41:06 +01:00
ip6_offload.h
ip6_output.c ipv6: avoid use-after-free in ip6_fragment() 2022-12-14 11:30:48 +01:00
ip6_tunnel.c ipv6: ensure sane device mtu in tunnels 2023-02-06 07:52:51 +01:00
ip6_udp_tunnel.c
ip6_vti.c ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate 2022-01-11 15:23:33 +01:00
ip6mr.c ipv6: make mc_forwarding atomic 2022-04-15 14:18:32 +02:00
ipcomp6.c
ipv6_sockglue.c tcp/udp: Fix memory leak in ipv6_renew_options(). 2022-11-10 17:57:54 +01:00
Kconfig
Makefile
mcast.c
mcast_snoop.c
mip6.c
ndisc.c
netfilter.c
output_core.c ipv6: use prandom_u32() for ID generation 2021-07-19 08:53:09 +02:00
ping.c net: ping6: Fix memleak in ipv6_renew_options(). 2022-08-03 11:59:39 +02:00
proc.c
protocol.c
raw.c ipv6: raw: Deduct extension header length in rawv6_push_pending_frames 2023-01-18 11:42:02 +01:00
reassembly.c
route.c ipv6: fix WARNING in ip6_route_net_exit_late() 2022-11-10 17:57:52 +01:00
seg6.c ipv6: sr: fix out-of-bounds read when setting HMAC data. 2022-09-15 12:04:55 +02:00
seg6_hmac.c net: ipv6: unexport __init-annotated seg6_hmac_net_init() 2022-07-07 17:36:49 +02:00
seg6_iptunnel.c seg6: fix skb checksum evaluation in SRH encapsulation/insertion 2022-07-21 20:59:23 +02:00
seg6_local.c seg6: fix skb checksum in SRv6 End.B6 and End.B6.Encaps behaviors 2022-07-21 20:59:23 +02:00
sit.c ipv6: ensure sane device mtu in tunnels 2023-02-06 07:52:51 +01:00
syncookies.c tcp: Fix data-races around sysctl_tcp_syncookies. 2022-07-29 17:14:13 +02:00
sysctl_net_ipv6.c
tcp_ipv6.c ipv6: Fix tcp socket connection with DSCP. 2023-02-22 12:50:41 +01:00
tcpv6_offload.c
tunnel6.c
udp.c tcp/udp: Make early_demux back namespacified. 2022-11-10 17:57:55 +01:00
udp_impl.h
udp_offload.c
udplite.c
xfrm6_input.c
xfrm6_output.c xfrm: fix tunnel model fragmentation behavior 2022-04-15 14:17:56 +02:00
xfrm6_policy.c xfrm: Fix ignored return value in xfrm6_init() 2022-12-08 11:22:58 +01:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c