linux/tools/testing/selftests/net
Willem de Bruijn 358be65640 selftests/net: add txring_overwrite
Packet sockets with PACKET_TX_RING send skbs with user data in frags.

Before commit 5cd8d46ea1 ("packet: copy user buffers before orphan
or clone") ring slots could be released prematurely, possibly allowing
a process to overwrite data still in flight.

This test opens two packet sockets, one to send and one to read.
The sender has a tx ring of one slot. It sends two packets with
different payload, then reads both and verifies their payload.

Before the above commit, both receive calls return the same data as
the send calls use the same buffer. From the commit, the clone
needed for looping onto a packet socket triggers an skb_copy_ubufs
to create a private copy. The separate sends each arrive correctly.

Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-24 18:22:21 -08:00
..
forwarding selftests: forwarding: vxlan_bridge_1d: Add learning test 2018-11-21 17:10:31 -08:00
.gitignore selftests/net: add txring_overwrite 2018-11-24 18:22:21 -08:00
config selftests: explicitly require kernel features needed by udpgro tests 2018-11-22 11:35:28 -08:00
fib_rule_tests.sh selftests: net: initial fib rule tests 2018-05-23 15:14:12 -04:00
fib_tests.sh fib_tests: Add tests for invalid metric on route 2018-10-05 11:58:50 -07:00
fib-onlink-tests.sh net/ipv6: Allow onlink routes to have a device mismatch if it is the default route 2018-10-24 14:36:38 -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: Clean up an unused variable 2018-10-05 14:53:44 -07:00
ip_defrag.sh selftests: use posix-style redirection in ip_defrag.sh 2018-10-11 10:22:07 -07:00
Makefile selftests/net: add txring_overwrite 2018-11-24 18:22:21 -08:00
msg_zerocopy.c selftests/net: reap zerocopy completions passed up as ancillary data. 2018-02-27 14:19:11 -05:00
msg_zerocopy.sh selftests/net: enable msg_zerocopy test 2018-06-04 09:49:39 -04:00
netdevice.sh selftests: net: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
pmtu.sh selftests: pmtu: Introduce FoU and GUE PMTU exceptions tests 2018-11-08 17:13:08 -08:00
psock_fanout.c selftests/net: ignore background traffic in psock_fanout 2018-02-23 12:47:05 -05:00
psock_lib.h selftests/net: Fixes psock_fanout CBPF test case 2017-04-20 15:39:19 -04: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 selftests: net: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
reuseaddr_conflict.c selftest: add a reuseaddr test 2017-09-19 14:09:26 -06: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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rtnetlink.sh selftests: rtnetlink.sh explicitly requires bash. 2018-10-11 10:19:46 -07:00
run_afpackettests selftests/net: add txring_overwrite 2018-11-24 18:22:21 -08:00
run_netsocktests License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01: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_inq.c selftest: add test for TCP_INQ 2018-05-01 18:56:29 -04:00
tcp_mmap.c selftest/net: fix protocol family to work for IPv4. 2018-08-02 10:30:12 -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
tls.c selftests/tls: Fix recv(MSG_PEEK) & splice() test cases 2018-10-01 23:18:15 -07:00
txring_overwrite.c selftests/net: add txring_overwrite 2018-11-24 18:22:21 -08:00
udpgro_bench.sh selftests: add functionals test for UDP GRO 2018-11-07 16:23:05 -08:00
udpgro.sh selftests: add explicit test for multiple concurrent GRO sockets 2018-11-16 23:03:20 -08:00
udpgso_bench_rx.c selftests: add functionals test for UDP GRO 2018-11-07 16:23:05 -08:00
udpgso_bench_tx.c selftests: add functionals test for UDP GRO 2018-11-07 16:23:05 -08:00
udpgso_bench.sh selftests: add functionals test for UDP GRO 2018-11-07 16:23:05 -08:00
udpgso.c selftests/net: udpgso: test small gso_size boundary conditions 2018-06-04 09:49:39 -04:00
udpgso.sh selftests: udp gso with corking 2018-04-26 15:09:52 -04:00