linux_dsm_epyc7002/tools/testing/selftests/net
Florian Westphal b0519de8b3 mptcp: fix use-after-free for ipv6
Turns out that when we accept a new subflow, the newly created
inet_sk(tcp_sk)->pinet6 points at the ipv6_pinfo structure of the
listener socket.

This wasn't caught by the selftest because it closes the accepted fd
before the listening one.

adding a close(listenfd) after accept returns is enough:
 BUG: KASAN: use-after-free in inet6_getname+0x6ba/0x790
 Read of size 1 at addr ffff88810e310866 by task mptcp_connect/2518
 Call Trace:
  inet6_getname+0x6ba/0x790
  __sys_getpeername+0x10b/0x250
  __x64_sys_getpeername+0x6f/0xb0

also alter test program to exercise this.

Reported-by: Christoph Paasch <cpaasch@apple.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-06 11:25:09 +01:00
..
forwarding selftests: mlxsw: Add a TBF selftest 2020-01-25 10:56:31 +01:00
mptcp mptcp: fix use-after-free for ipv6 2020-02-06 11:25:09 +01:00
.gitignore selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
altnames.sh selftest: net: add alternative names test 2019-11-08 14:10:27 -08:00
config Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-07-08 19:48:57 -07:00
fcnal-test.sh fcnal-test: Fix vrf argument in local tcp tests 2020-01-06 13:46:39 -08:00
fib_nexthop_multiprefix.sh selftests: Update fib_nexthop_multiprefix to handle missing ping6 2019-09-20 18:18:16 -07:00
fib_nexthops.sh selftests: Add test cases for ip nexthop flush proto XX 2019-09-19 18:35:55 -07:00
fib_rule_tests.sh selftests: fib_rule_tests: use pre-defined DEV_ADDR 2019-05-21 13:44:17 -07:00
fib_tests.sh selftests: Add source route tests to fib_tests 2019-11-07 16:16:55 -08:00
fib-onlink-tests.sh selftests: fib-onlink: Make quiet by default 2019-05-22 17:50:24 -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
icmp_redirect.sh selftests: icmp_redirect: Add support for routing via nexthop objects 2019-06-10 10:44:57 -07:00
in_netns.sh selftests/net: fix in_netns.sh script 2018-03-07 12:26:05 -05:00
ip6_gre_headroom.sh selftests: net: Test headroom handling of ip6_gre devices 2018-06-26 23:03:01 +09:00
ip_defrag.c selftests: net: ip_defrag: cover new IPv6 defrag behavior 2019-01-25 21:37:11 -08:00
ip_defrag.sh selftests: net: ip_defrag: cover new IPv6 defrag behavior 2019-01-25 21:37:11 -08:00
ipv6_flowlabel_mgr.c selftests/net: ipv6 flowlabel 2019-05-28 17:18:53 -07:00
ipv6_flowlabel.c selftests/net: ipv6 flowlabel 2019-05-28 17:18:53 -07:00
ipv6_flowlabel.sh selftests/net: ipv6 flowlabel 2019-05-28 17:18:53 -07:00
l2tp.sh selftests: Make l2tp.sh executable 2019-10-22 14:01:35 -07:00
Makefile selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
msg_zerocopy.c selftests: extend zerocopy tests to udp 2018-12-03 15:58:32 -08:00
msg_zerocopy.sh selftests: extend zerocopy tests to udp 2018-12-03 15:58:32 -08:00
netdevice.sh selftests: net: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
nettest.c nettest: Add support for TCP_MD5 extensions 2020-01-02 15:51:22 -08:00
pmtu.sh selftests: pmtu: fix init mtu value in description 2019-12-20 21:52:21 -08:00
psock_fanout.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222 2019-05-30 11:29:55 -07:00
psock_lib.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222 2019-05-30 11:29:55 -07:00
psock_snd.c selftests/net: add packet socket packet_snd test 2018-06-04 09:50:01 -04:00
psock_snd.sh selftests/net: add packet socket packet_snd test 2018-06-04 09:50:01 -04:00
psock_tpacket.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222 2019-05-30 11:29:55 -07:00
reuseaddr_conflict.c selftest: add a reuseaddr test 2017-09-19 14:09:26 -06:00
reuseport_addr_any.c selftests: net: reuseport_addr_any: silence clang warning 2018-12-20 19:26:52 -08:00
reuseport_addr_any.sh selftests: net: test that listening sockets match on address properly 2018-12-14 15:55:20 -08:00
reuseport_bpf_cpu.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
reuseport_bpf_numa.c selftests: net: reuseport_bpf_numa: don't fail if no numa support 2018-05-23 12:21:02 +02:00
reuseport_bpf.c bpf: do not blindly change rlimit in reuseport net selftest 2018-10-08 10:30:55 +02:00
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 selftests/net: correct the return value for run_netsocktests 2019-04-19 14:39:51 -07:00
so_txtime.c selftests/net: make so_txtime more robust to timer variance 2019-12-14 18:03:01 -08:00
so_txtime.sh selftests/net: make so_txtime more robust to timer variance 2019-12-14 18:03:01 -08:00
socket.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tcp_fastopen_backup_key.c selftests/net: fix warnings in TFO key rotation selftest 2019-06-16 14:27:14 -07:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 253 2019-06-05 17:30:27 +02:00
tcp_mmap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-11-25 20:02:57 -08:00
test_blackhole_dev.sh blackhole_dev: add a selftest 2019-07-01 19:34:46 -07:00
test_bpf.sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_vxlan_fdb_changelink.sh selftests: net: Add test_vxlan_fdb_changelink.sh 2018-12-18 21:18:26 -08:00
test_vxlan_under_vrf.sh test/net: Add script for VXLAN underlay in a VRF 2018-12-03 14:16:01 -08:00
tls.c selftests: net: tls: remove recv_rcvbuf test 2019-12-14 19:53:53 -08: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
udpgro_bench.sh selftests: add functionals test for UDP GRO 2018-11-07 16:23:05 -08:00
udpgro.sh selftests: fixes for UDP GRO 2019-03-01 11:24:00 -08:00
udpgso_bench_rx.c selftests: fixes for UDP GRO 2019-03-01 11:24:00 -08:00
udpgso_bench_tx.c selftests: net: Fix printf format warnings on arm 2019-11-07 14:54:08 -07:00
udpgso_bench.sh selftests/net: make udpgso_bench skip unsupported testcases 2019-06-19 17:33:47 -04:00
udpgso.c linux-kselftest-5.5-rc1-fixes 2019-11-25 14:58:09 -08:00
udpgso.sh selftests: udp gso with corking 2018-04-26 15:09:52 -04:00
xfrm_policy.sh xfrm: policy: avoid warning splat when merging nodes 2019-08-20 08:09:42 +02:00