linux_dsm_epyc7002/tools/testing/selftests
Jason A. Donenfeld b673e24aad wireguard: socket: remove errant restriction on looping to self
It's already possible to create two different interfaces and loop
packets between them. This has always been possible with tunnels in the
kernel, and isn't specific to wireguard. Therefore, the networking stack
already needs to deal with that. At the very least, the packet winds up
exceeding the MTU and is discarded at that point. So, since this is
already something that happens, there's no need to forbid the not very
exceptional case of routing a packet back to the same interface; this
loop is no different than others, and we shouldn't special case it, but
rather rely on generic handling of loops in general. This also makes it
easier to do interesting things with wireguard such as onion routing.

At the same time, we add a selftest for this, ensuring that both onion
routing works and infinite routing loops do not crash the kernel. We
also add a test case for wireguard interfaces nesting packets and
sending traffic between each other, as well as the loop in this case
too. We make sure to send some throughput-heavy traffic for this use
case, to stress out any possible recursion issues with the locks around
workqueues.

Fixes: e7096c131e ("net: WireGuard secure network tunnel")
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-06 20:03:47 -07:00
..
android SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
arm64 .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
bpf selftests/bpf: Fix a couple of broken test_btf cases 2020-04-24 17:47:40 -07:00
breakpoints .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
capabilities .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
cgroup SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
clone3 SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
cpu-hotplug
cpufreq
dmabuf-heaps dma-buf: heaps: Use _IOCTL_ for userspace IOCTL identifier 2019-12-17 21:37:40 +05:30
drivers SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
efivarfs .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
exec .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
filesystems kselftest: introduce new epoll test case 2020-04-07 10:43:44 -07:00
firmware selftests: firmware: Add firmware_request_platform tests 2020-03-20 14:54:04 +01:00
ftrace selftests/ftrace: Add CONFIG_SAMPLE_FTRACE_DIRECT=m kconfig 2020-04-14 10:00:29 -06:00
futex .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
gpio .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
ia64 .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
intel_pstate .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
ipc selftests/ipc: Fix test failure seen after initial test run 2020-04-14 10:24:28 -06:00
ir .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
kcmp .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
kexec
kmod selftests: kmod: test disabling module autoloading 2020-04-10 15:36:22 -07:00
kselftest kselftest/runner: allow to properly deliver signals to tests 2020-04-14 09:49:13 -06:00
kvm SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
lib selftests: Move kselftest_module.sh into kselftest/ 2019-11-07 14:46:08 -07:00
livepatch selftests: Install settings files to fix TIMEOUT failures 2020-02-20 08:56:42 -07:00
lkdtm selftest/lkdtm: Use local .gitignore 2020-03-02 08:39:39 -07:00
locking
media_tests .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
membarrier .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
memfd selftests: Fix memfd test run-time regression 2020-04-13 09:33:46 -06:00
memory-hotplug
mount .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
mqueue .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
net selftests: net: tcp_mmap: fix SO_RCVLOWAT setting 2020-05-06 15:01:30 -07:00
netfilter selftests: netfilter: add nfqueue test case 2020-03-24 20:00:12 +01:00
nsfs .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
ntb
openat2 .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
pid_namespace selftests: add pid namespace ENOMEM regression test 2020-03-25 13:50:34 +01:00
pidfd threads-v5.7 2020-04-04 10:08:18 -07:00
powerpc powerpc updates for 5.7 #2 2020-04-09 11:01:42 -07:00
prctl .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
proc .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
pstore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
ptp .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
ptrace SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
rcutorture SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
resctrl selftests/resctrl: fix spelling mistake "Errror" -> "Error" 2020-03-13 13:29:22 -06:00
rseq .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
rtc .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
safesetid .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
seccomp selftests/seccomp: allow clock_nanosleep instead of nanosleep 2020-04-14 09:49:51 -06:00
sigaltstack .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
size .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
sparc64 .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
splice .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
static_keys
sync .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
sysctl
tc-testing tc-testing: remove duplicate code in tdc.py 2020-04-07 18:38:55 -07:00
timens SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
timers .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
tmpfs .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
tpm2 Revert "Kernel selftests: tpm2: check for tpm support" 2020-04-14 10:08:24 -06:00
uevent
user
vDSO .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
vm selftests: vm: Fix 64-bit test builds for powerpc64le 2020-04-13 09:33:46 -06:00
watchdog .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
wireguard wireguard: socket: remove errant restriction on looping to self 2020-05-06 20:03:47 -07:00
x86 SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
zram
.gitignore SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
gen_kselftest_tar.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_harness.h selftests/harness: fix spelling mistake "SIGARLM" -> "SIGALRM" 2020-04-14 09:44:04 -06:00
kselftest_install.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_module.h
kselftest.h
lib.mk linux-kselftest-5.7-rc1 2020-04-01 16:09:12 -07:00
Makefile threads-v5.7 2020-04-04 10:08:18 -07:00