linux_dsm_epyc7002/drivers
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
..
accessibility
acpi Merge branch 'acpi-pci' 2020-04-24 21:03:57 +02:00
amba
android
ata ata: sata_inic162x fix a spelling issue 2020-04-23 09:59:30 -06:00
atm
auxdisplay
base PM: sleep: core: Switch back to async_schedule_dev() 2020-04-22 16:36:18 +02:00
bcma
block block-5.7-2020-04-24 2020-04-24 12:44:19 -07:00
bluetooth
bus
cdrom
char virtio: fixes, cleanups 2020-04-21 12:27:18 -07:00
clk clk: sprd: don't gate uart console clock 2020-04-13 12:20:07 -07:00
clocksource clocksource/drivers/timer-vf-pit: Add missing parenthesis 2020-04-05 09:24:58 +02:00
connector
counter
cpufreq Additional power management updates for 5.7-rc1 2020-04-06 10:14:39 -07:00
cpuidle Merge branch 'pm-cpuidle' 2020-04-10 11:32:22 +02:00
crypto cxgb4/chcr: avoid -Wreturn-local-addr warning 2020-05-04 11:47:52 -07:00
dax
dca
devfreq
dio
dma drivers/dma/tegra20-apb-dma.c: fix platform_get_irq.cocci warnings 2020-04-10 15:36:22 -07:00
dma-buf A bunch of fixes to avoid null pointer dereference in fbcon, fix a return 2020-04-08 09:14:34 +10:00
edac
eisa
extcon
firewire
firmware ARM: SoC fixes 2020-04-23 09:36:40 -07:00
fpga
fsi
gnss
gpio This is the bulk of GPIO development for the v5.7 kernel cycle. 2020-04-04 10:27:00 -07:00
gpu drm fixes for 5.7-rc3 2020-04-24 10:20:08 -07:00
greybus
hid
hsi
hv hyperv-fixes for 5.7-rc1 2020-04-14 11:58:04 -07:00
hwmon hwmon: (jc42) Fix name to have no illegal characters 2020-04-18 10:13:07 -07:00
hwspinlock
hwtracing
i2c i2c: tegra: Synchronize DMA before termination 2020-04-15 18:27:31 +02:00
i3c
ide drivers/ide: Fix build regression. 2020-04-04 18:07:59 -07:00
idle
iio chrome platform changes for 5.7 2020-04-08 21:25:49 -07:00
infiniband
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2020-04-07 20:20:12 -07:00
interconnect
iommu
ipack
irqchip Merge branch 'irq/gic-v4.1-fixes-5.7' into irq/irqchip-5.7 2020-04-17 08:59:55 +01:00
isdn mISDN: make dmril and dmrim static 2020-04-16 13:52:31 -07:00
leds leds: core: Fix warning message when init_data 2020-04-06 23:12:08 +02:00
lightnvm
macintosh
mailbox
mcb
md libnvdimm for 5.7 2020-04-08 21:03:40 -07:00
media
memory
memstick
message
mfd
misc vhost: disable for OABI 2020-04-20 10:19:22 -04:00
mmc
most
mtd mtd: spi-nor: Compile files in controllers/ directory 2020-04-09 22:00:13 +02:00
mux
net wireguard: socket: remove errant restriction on looping to self 2020-05-06 20:03:47 -07:00
nfc
ntb
nubus
nvdimm libnvdimm for 5.7 2020-04-08 21:03:40 -07:00
nvme block-5.7-2020-04-10 2020-04-10 10:06:54 -07:00
nvmem
of of: unittest: kmemleak in duplicate property update 2020-04-17 08:31:34 -05:00
opp opp: Manage empty OPP tables with clk handle 2020-04-13 16:14:55 +05:30
oprofile
parisc parisc: Replace setup_irq() by request_irq() 2020-04-05 22:05:23 +02:00
parport
pci PCI: Move Apex Edge TPU class quirk to fix BAR assignment 2020-04-14 19:16:51 -05:00
pcmcia
perf
phy
pinctrl This is the bulk of GPIO development for the v5.7 kernel cycle. 2020-04-04 10:27:00 -07:00
platform chrome-platform fixes for v5.7-rc2 2020-04-16 15:00:57 -07:00
pnp
power change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
powercap
pps
ps3
ptp ptp: Remove unneeded conversion to bool 2020-04-21 15:45:32 -07:00
pwm
rapidio
ras
regulator
remoteproc remoteproc fixes for v5.7 2020-04-23 09:28:15 -07:00
reset
rpmsg rpmsg: pull in slab.h 2020-04-17 06:05:29 -04:00
rtc - New Drivers 2020-04-07 19:48:52 -07:00
s390 s390/qeth: fix cancelling of TX timer on dev_close() 2020-05-04 11:21:40 -07:00
sbus
scsi scsi: Update referenced link to cdrtools 2020-04-14 21:16:16 -04:00
sfi
sh
siox
slimbus
soc arm64: soc: ZynqMP SoC fixes for v5.7 2020-04-21 14:21:20 +02:00
soundwire
spi
spmi
ssb
staging PCI: Move Apex Edge TPU class quirk to fix BAR assignment 2020-04-14 19:16:51 -05:00
target scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN 2020-04-13 14:03:20 -04:00
tc
tee
thermal - Convert tsens configuration DT binding to yaml (Rajeshwari) 2020-04-07 20:00:16 -07:00
thunderbolt
tty powerpc updates for 5.7 2020-04-05 11:12:59 -07:00
uio
usb
vdpa vhost: disable for OABI 2020-04-20 10:19:22 -04:00
vfio
vhost vsock/virtio: fix multiple packet delivery to monitoring devices 2020-04-27 10:18:01 -07:00
video drm fixes for 5.7-rc1 2020-04-07 20:24:34 -07:00
virt
virtio virtio-balloon: Avoid using the word 'report' when referring to free page hinting 2020-04-17 06:05:30 -04:00
visorbus
vlynq
vme
w1
watchdog watchdog: sp805: fix restart handler 2020-04-08 11:18:38 +02:00
xen xen: branch for v5.7-rc2 2020-04-17 10:35:17 -07:00
zorro
Kconfig virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00
Makefile virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00