Zekun Shen
6fd916e249
net: alx: fix race condition in alx_remove
...
[ Upstream commit e89df5c4322c1bf495f62d74745895b5fd2a4393 ]
There is a race condition exist during termination. The path is
alx_stop and then alx_remove. An alx_schedule_link_check could be called
before alx_stop by interrupt handler and invoke alx_link_check later.
Alx_stop frees the napis, and alx_remove cancels any pending works.
If any of the work is scheduled before termination and invoked before
alx_remove, a null-ptr-deref occurs because both expect alx->napis[i].
This patch fix the race condition by moving cancel_work_sync functions
before alx_free_napis inside alx_stop. Because interrupt handler can call
alx_schedule_link_check again, alx_free_irq is moved before
cancel_work_sync calls too.
Signed-off-by: Zekun Shen <bruceshenzk@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-30 15:37:04 -04:00
..
appletalk
arcnet
bonding
bonding: Fix reference count leak in bond_sysfs_slave_add.
2020-06-03 08:21:38 +02:00
caif
can
slcan: Don't transmit uninitialized stack data in padding
2020-04-13 10:48:05 +02:00
dsa
net: dsa: lantiq_gswip: fix and improve the unsupported interface error
2020-06-24 17:50:19 +02:00
ethernet
net: alx: fix race condition in alx_remove
2020-06-30 15:37:04 -04:00
fddi
fjes
hamradio
yam: fix possible memory leak in yam_init_driver
2020-06-24 17:50:18 +02:00
hippi
hyperv
hv_netvsc: Fix unwanted wakeup in netvsc_attach()
2020-03-05 16:43:46 +01:00
ieee802154
ipvlan
ipvlan: don't deref eth hdr before checking it's set
2020-03-18 07:17:39 +01:00
netdevsim
phy
net: phy: Check harder for errors in get_phy_id()
2020-06-30 15:36:46 -04:00
plip
ppp
pppoe: only process PADT targeted at local interfaces
2020-05-20 08:20:09 +02:00
slip
slip: not call free_netdev before rtnl_unlock in slip_open
2020-03-21 08:11:53 +01:00
team
team: fix hang in team_mode_get()
2020-04-29 16:33:09 +02:00
usb
net: usb: ax88179_178a: fix packet alignment padding
2020-06-30 15:36:45 -04:00
vmxnet3
net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()
2020-06-22 09:30:57 +02:00
wan
wimax
wimax/i2400m: Fix potential urb refcnt leak
2020-05-10 10:31:26 +02:00
wireless
b43_legacy: Fix connection problem with WPA3
2020-06-22 09:31:19 +02:00
xen-netback
dummy.c
eql.c
geneve.c
geneve: allow changing DF behavior after creation
2020-06-30 15:36:43 -04:00
gtp.c
gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp()
2020-05-27 17:46:33 +02:00
ifb.c
net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build
2020-04-01 11:02:18 +02:00
Kconfig
net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build
2020-04-01 11:02:18 +02:00
LICENSE.SRC
loopback.c
macsec.c
net: macsec: preserve ingress frame ordering
2020-05-14 07:58:21 +02:00
macvlan.c
macvlan: Skip loopback packets in RX handler
2020-06-22 09:31:09 +02:00
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c
net_failover: fixed rollback in net_failover_open()
2020-06-17 16:40:19 +02:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c
tun: correct header offsets in napi frags mode
2020-06-17 16:40:20 +02:00
veth.c
veth: Adjust hard_start offset on redirect XDP frames
2020-06-22 09:31:06 +02:00
virtio_net.c
virtio_net: fix lockdep warning on 32 bit
2020-05-20 08:20:10 +02:00
vrf.c
vrf: Check skb for XFRM_TRANSFORMED flag
2020-04-29 16:33:11 +02:00
vsockmon.c
vxlan.c
vxlan: Avoid infinite loop when suppressing NS messages with invalid options
2020-06-17 16:40:20 +02:00
xen-netfront.c