sst-linux/net/ipv6
Shiming Cheng 66e74f2f74 ipv6: fib6_rules: flush route cache when rule is changed
[ Upstream commit c4386ab4f6c600f75fdfd21143f89bac3e625d0d ]

When rule policy is changed, ipv6 socket cache is not refreshed.
The sock's skb still uses a outdated route cache and was sent to
a wrong interface.

To avoid this error we should update fib node's version when
rule is changed. Then skb's route will be reroute checked as
route cache version is already different with fib node version.
The route cache is refreshed to match the latest rule.

Fixes: 101367c2f8 ("[IPV6]: Policy Routing Rules")
Signed-off-by: Shiming Cheng <shiming.cheng@mediatek.com>
Signed-off-by: Lena Wang <lena.wang@mediatek.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:20:41 -04:00
..
ila
netfilter netfilter: let reset rules clean out conntrack entries 2024-03-06 14:45:08 +00:00
addrconf_core.c ipv6: Ensure natural alignment of const ipv6 loopback and router addresses 2024-02-05 20:13:01 +00:00
addrconf.c ipv6: fix potential "struct net" leak in inet6_rtm_getaddr() 2024-03-06 14:45:06 +00:00
addrlabel.c
af_inet6.c bpf: Derive source IP addr via bpf_*_fib_lookup() 2024-03-06 14:45:20 +00:00
ah6.c
anycast.c
calipso.c
datagram.c
esp6_offload.c
esp6.c net: ipv6: fix return value check in esp_remove_trailer 2023-10-25 12:03:06 +02:00
exthdrs_core.c
exthdrs_offload.c
exthdrs.c Fix write to cloned skb in ipv6_hop_ioam() 2024-03-01 13:26:38 +01:00
fib6_notifier.c
fib6_rules.c ipv6: fib6_rules: flush route cache when rule is changed 2024-03-26 18:20:41 -04:00
fou6.c
icmp.c
inet6_connection_sock.c
inet6_hashtables.c
ioam6_iptunnel.c
ioam6.c
ip6_checksum.c
ip6_fib.c ipv6: fix potential NULL deref in fib6_add() 2023-12-13 18:39:06 +01:00
ip6_flowlabel.c
ip6_gre.c net:ipv6: check return value of pskb_trim() 2023-07-27 08:50:45 +02:00
ip6_icmp.c
ip6_input.c ipv6: ignore dst hint for multipath routes 2023-09-19 12:28:01 +02:00
ip6_offload.c
ip6_offload.h
ip6_output.c net: annotate data-races around sk->sk_tsflags 2024-01-10 17:10:23 +01:00
ip6_tunnel.c ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv() 2024-02-05 20:13:00 +00:00
ip6_udp_tunnel.c
ip6_vti.c ip6_vti: fix slab-use-after-free in decode_session6 2023-08-23 17:52:32 +02:00
ip6mr.c ip6mr: Fix skb_under_panic in ip6mr_cache_report() 2023-08-11 12:08:17 +02:00
ipcomp6.c
ipv6_sockglue.c
Kconfig
Makefile
mcast_snoop.c
mcast.c ipv6: mcast: remove one synchronize_net() barrier in ipv6_mc_down() 2024-03-26 18:20:35 -04:00
mip6.c
ndisc.c neighbour: annotate lockless accesses to n->nud_state 2023-10-10 22:00:42 +02:00
netfilter.c
output_core.c
ping.c net: annotate data-races around sk->sk_tsflags 2024-01-10 17:10:23 +01:00
proc.c
protocol.c
raw.c net: annotate data-races around sk->sk_tsflags 2024-01-10 17:10:23 +01:00
reassembly.c
route.c net/ipv6: avoid possible UAF in ip6_route_mpath_notify() 2024-03-15 10:48:15 -04:00
rpl_iptunnel.c
rpl.c
seg6_hmac.c
seg6_iptunnel.c
seg6_local.c
seg6.c ipv6: sr: fix possible use-after-free and null-ptr-deref 2024-03-01 13:26:36 +01:00
sit.c
syncookies.c dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses. 2023-11-20 11:52:16 +01:00
sysctl_net_ipv6.c
tcp_ipv6.c ipv4, ipv6: Use splice_eof() to flush 2024-01-10 17:10:27 +01:00
tcpv6_offload.c
tunnel6.c
udp_impl.h
udp_offload.c
udp.c udp: annotate data-races around up->pending 2024-01-25 15:27:49 -08:00
udplite.c
xfrm6_input.c udp: annotate data-races around udp->encap_type 2024-01-10 17:10:28 +01:00
xfrm6_output.c
xfrm6_policy.c xfrm6: fix inet6_dev refcount underflow problem 2023-10-25 12:03:12 +02:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c