linux/drivers
Lv Yunlong 643001b47a ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
In enic_hard_start_xmit, it calls enic_queue_wq_skb(). Inside
enic_queue_wq_skb, if some error happens, the skb will be freed
by dev_kfree_skb(skb). But the freed skb is still used in
skb_tx_timestamp(skb).

My patch makes enic_queue_wq_skb() return error and goto spin_unlock()
incase of error. The solution is provided by Govind.
See https://lkml.org/lkml/2021/4/30/961.

Fixes: fb7516d424 ("enic: add sw timestamp support")
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Acked-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-05-03 13:23:00 -07:00
..
accessibility
acpi
amba
android
ata
atm Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
auxdisplay
base
bcma
block
bluetooth Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
bus
cdrom
char
clk
clocksource
comedi
connector
counter
cpufreq
cpuidle
crypto
cxl
dax
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware
fpga
fsi
gnss
gpio
gpu
greybus
hid
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
i3c
ide
idle
iio
infiniband Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
input
interconnect
iommu
ipack
irqchip
isdn
leds
lightnvm
macintosh
mailbox
mcb
md
media
memory
memstick
message
mfd
misc
mmc
most
mtd
mux
net ethernet:enic: Fix a use after free bug in enic_hard_start_xmit 2021-05-03 13:23:00 -07:00
nfc
ntb
nubus
nvdimm
nvme
nvmem
of Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
opp
parisc
parport
pci Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
pcmcia
perf
phy Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
sbus
scsi Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
sh
siox
slimbus
soc
soundwire
spi
spmi
ssb
staging Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
target
tc
tee
thermal
thunderbolt
tty
uio
usb
vdpa
vfio
vhost
video
virt
virtio
visorbus
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile