mirror-linux/tools/testing/selftests/net
David Ahern 34fe5a1cf9 ipv6: fib6_select_path can not use out path for nexthop objects
Brian reported a crash in IPv6 code when using rpfilter with a setup
running FRR and external nexthop objects. The root cause of the crash
is fib6_select_path setting fib6_nh in the result to NULL because of
an improper check for nexthop objects.

More specifically, rpfilter invokes ip6_route_lookup with flowi6_oif
set causing fib6_select_path to be called with have_oif_match set.
fib6_select_path has early check on have_oif_match and jumps to the
out label which presumes a builtin fib6_nh. This path is invalid for
nexthop objects; for external nexthops fib6_select_path needs to just
return if the fib6_nh has already been set in the result otherwise it
returns after the call to nexthop_path_fib6_result. Update the check
on have_oif_match to not bail on external nexthops.

Update selftests for this problem.

Fixes: f88d8ea67f ("ipv6: Plumb support for nexthop object in a fib6_info")
Reported-by: Brian Rak <brak@choopa.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-06 13:24:16 -07:00
..
forwarding selftests: mlxsw: Add test for control packets 2020-06-01 11:49:23 -07:00
mptcp selftests: mptcp: pm: rm the right tmp file 2020-05-15 10:33:56 -07:00
.gitignore SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
Makefile selftests: Add tests for vrf and xfrms 2020-04-22 19:31:40 -07:00
altnames.sh selftest: net: add alternative names test 2019-11-08 14:10:27 -08:00
config selftests: move timestamping selftests to net folder 2020-03-29 21:48:30 -07:00
fcnal-test.sh fcnal-test: Fix vrf argument in local tcp tests 2020-01-06 13:46:39 -08:00
fib-onlink-tests.sh
fib_nexthop_multiprefix.sh selftests: Update fib_nexthop_multiprefix to handle missing ping6 2019-09-20 18:18:16 -07:00
fib_nexthops.sh ipv6: fib6_select_path can not use out path for nexthop objects 2020-07-06 13:24:16 -07:00
fib_rule_tests.sh
fib_tests.sh selftests: Fix suppress test in fib_tests.sh 2020-04-22 13:02:52 -07:00
fin_ack_lat.c selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
fin_ack_lat.sh selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
hwtstamp_config.c selftests: move timestamping selftests to net folder 2020-03-29 21:48:30 -07:00
icmp_redirect.sh
in_netns.sh
ip6_gre_headroom.sh
ip_defrag.c selftests: net: ip_defrag: ignore EPERM 2020-06-02 15:54:20 -07:00
ip_defrag.sh
ipv6_flowlabel.c
ipv6_flowlabel.sh
ipv6_flowlabel_mgr.c
l2tp.sh selftests: Make l2tp.sh executable 2019-10-22 14:01:35 -07:00
msg_zerocopy.c
msg_zerocopy.sh
netdevice.sh
nettest.c nettest: Add support for TCP_MD5 extensions 2020-01-02 15:51:22 -08:00
pmtu.sh selftests: pmtu: implement IPIP, SIT and ip6tnl PMTU discovery tests 2020-04-20 12:08:06 -07:00
psock_fanout.c
psock_lib.h
psock_snd.c
psock_snd.sh
psock_tpacket.c
reuseaddr_conflict.c
reuseaddr_ports_exhausted.c selftests: net: Add SO_REUSEADDR test to check if 4-tuples are fully utilized. 2020-03-12 12:08:09 -07:00
reuseaddr_ports_exhausted.sh selftests: net: Add SO_REUSEADDR test to check if 4-tuples are fully utilized. 2020-03-12 12:08:09 -07:00
reuseport_addr_any.c selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc 2020-03-21 20:23:10 -07:00
reuseport_addr_any.sh
reuseport_bpf.c
reuseport_bpf_cpu.c
reuseport_bpf_numa.c
reuseport_dualstack.c selftests: net: reuseport_dualstack: fix uninitalized parameter 2019-11-01 15:11:02 -07:00
route_localnet.sh selftests: add route_localnet test script 2019-06-24 09:02:47 -07:00
rtnetlink.sh selftests: rtnetlink: skip ipsec offload tests if netdevsim isn't present 2019-06-29 12:18:52 -07:00
run_afpackettests selftests/net: skip psock_tpacket test if KALLSYMS was not enabled 2019-07-02 20:17:49 -04:00
run_netsocktests
rxtimestamp.c selftests/net: in rxtimestamp getopt_long needs terminating null entry 2020-06-09 14:31:33 -07:00
so_txtime.c selftests/net: report etf errors correctly 2020-06-19 20:23:02 -07:00
so_txtime.sh selftests/net: make so_txtime more robust to timer variance 2019-12-14 18:03:01 -08:00
socket.c
tcp_fastopen_backup_key.c
tcp_fastopen_backup_key.sh selftests: net: tcp_fastopen_backup_key.sh: fix shellcheck issue 2019-08-15 11:34:32 -07:00
tcp_inq.c
tcp_mmap.c selftests: net: tcp_mmap: fix SO_RCVLOWAT setting 2020-05-06 15:01:30 -07:00
test_blackhole_dev.sh blackhole_dev: add a selftest 2019-07-01 19:34:46 -07:00
test_bpf.sh
test_vxlan_fdb_changelink.sh
test_vxlan_under_vrf.sh
timestamping.c selftests/net: in timestamping, strncpy needs to preserve null byte 2020-06-08 19:14:28 -07:00
tls.c net/tls(TLS_SW): Add selftest for 'chunked' sendfile test 2020-06-08 19:01:54 -07:00
traceroute.sh selftest: net: add some traceroute tests 2019-11-06 17:35:49 -08:00
txring_overwrite.c selftests: txring_overwrite: fix incorrect test of mmap() return value 2019-07-08 15:39:38 -07:00
txtimestamp.c selftests: move timestamping selftests to net folder 2020-03-29 21:48:30 -07:00
txtimestamp.sh selftests: move timestamping selftests to net folder 2020-03-29 21:48:30 -07:00
udpgro.sh
udpgro_bench.sh
udpgso.c linux-kselftest-5.5-rc1-fixes 2019-11-25 14:58:09 -08:00
udpgso.sh
udpgso_bench.sh selftests/net: make udpgso_bench skip unsupported testcases 2019-06-19 17:33:47 -04:00
udpgso_bench_rx.c
udpgso_bench_tx.c selftests: net: Fix printf format warnings on arm 2019-11-07 14:54:08 -07:00
vrf-xfrm-tests.sh selftests: Add tests for vrf and xfrms 2020-04-22 19:31:40 -07:00
xfrm_policy.sh xfrm: policy: avoid warning splat when merging nodes 2019-08-20 08:09:42 +02:00