kernel_optimize_test/drivers
Antoine Tenart ca9b5ab791 vrf: do not push non-ND strict packets with a source LLA through packet taps again
[ Upstream commit 603113c514e95c3350598bc3cccbd03af7ea4ab2 ]

Non-ND strict packets with a source LLA go through the packet taps
again, while non-ND strict packets with other source addresses do not,
and we can see a clone of those packets on the vrf interface (we should
not). This is due to a series of changes:

Commit 6f12fa775530[1] made non-ND strict packets not being pushed again
in the packet taps. This changed with commit 205704c618af[2] for those
packets having a source LLA, as they need a lookup with the orig_iif.

The issue now is those packets do not skip the 'vrf_ip6_rcv' function to
the end (as the ones without a source LLA) and go through the check to
call packet taps again. This check was changed by commit 6f12fa775530[1]
and do not exclude non-strict packets anymore. Packets matching
'need_strict && !is_ndisc && is_ll_src' are now being sent through the
packet taps again. This can be seen by dumping packets on the vrf
interface.

Fix this by having the same code path for all non-ND strict packets and
selectively lookup with the orig_iif for those with a source LLA. This
has the effect to revert to the pre-205704c618af[2] condition, which
should also be easier to maintain.

[1] 6f12fa7755 ("vrf: mark skb for multicast or link-local as enslaved to VRF")
[2] 205704c618 ("vrf: packets with lladdr src needs dst at input with orig_iif when needs strict")

Fixes: 205704c618 ("vrf: packets with lladdr src needs dst at input with orig_iif when needs strict")
Cc: Stephen Suryaputra <ssuryaextr@gmail.com>
Reported-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Antoine Tenart <atenart@kernel.org>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-14 16:56:24 +02:00
..
accessibility
acpi ACPI: bgrt: Fix CFI violation 2021-07-14 16:56:12 +02:00
amba
android
ata
atm
auxdisplay
base
bcma
block
bluetooth
bus
cdrom
char
clk clk: imx8mq: remove SYS PLL 1/2 clock gates 2021-07-14 16:56:20 +02:00
clocksource clocksource/drivers/timer-ti-dm: Save and restore timer TIOCP_CFG 2021-07-14 16:56:12 +02:00
connector
counter
cpufreq cpufreq: Make cpufreq_online() call driver->offline() on errors 2021-07-14 16:56:13 +02:00
cpuidle
crypto crypto: nx - Fix RCU warning in nx842_OF_upd_status 2021-07-14 16:56:10 +02:00
dax
dca
devfreq PM / devfreq: Add missing error code in devfreq_add_device() 2021-07-14 16:56:11 +02:00
dio
dma
dma-buf
edac
eisa
extcon extcon: extcon-max8997: Fix IRQ freeing at error path 2021-07-14 16:56:12 +02:00
firewire
firmware
fpga
fsi
gnss
gpio
gpu drm: qxl: ensure surf.data is ininitialized 2021-07-14 16:56:20 +02:00
greybus
hid
hsi
hv
hwmon hwmon: (max31790) Fix fan speed reporting for fan7..12 2021-07-14 16:56:08 +02:00
hwspinlock
hwtracing
i2c
i3c
ide
idle
iio
infiniband RDMA/rtrs-srv: Set minimal max_send_wr and max_recv_wr 2021-07-14 16:56:23 +02:00
input
interconnect
iommu
ipack
irqchip
isdn
leds
lightnvm
macintosh
mailbox
mcb
md
media media: video-mux: Skip dangling endpoints 2021-07-14 16:56:11 +02:00
memory
memstick
message
mfd
misc
mmc
most
mtd
mux
net vrf: do not push non-ND strict packets with a source LLA through packet taps again 2021-07-14 16:56:24 +02:00
nfc
ntb
nubus
nvdimm
nvme nvme-pci: look for StorageD3Enable on companion ACPI device instead 2021-07-14 16:56:11 +02:00
nvmem
of
opp
oprofile
parisc
parport
pci
pcmcia
perf perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number 2021-07-14 16:56:08 +02:00
phy
pinctrl pinctrl: renesas: r8a77990: JTAG pins do not have pull-down capabilities 2021-07-14 16:56:16 +02:00
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator regulator: hi655x: Fix pass wrong pointer to config.driver_data 2021-07-14 16:56:09 +02:00
remoteproc
reset
rpmsg
rtc
s390
sbus
scsi
sfi
sh
siox
slimbus
soc
soundwire
spi spi: spi-sun6i: Fix chipselect/clock bug 2021-07-14 16:56:10 +02:00
spmi
ssb ssb: Fix error return code in ssb_bus_scan() 2021-07-14 16:56:21 +02:00
staging media: v4l2-async: Clean v4l2_async_notifier_add_fwnode_remote_subdev 2021-07-14 16:56:11 +02:00
target
tc
tee
thermal
thunderbolt
tty
uio
usb
vdpa
vfio
vhost
video video: fbdev: imxfb: Fix an error message 2021-07-14 16:56:15 +02:00
virt
virtio
visorbus
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile