linux_dsm_epyc7002/drivers/net
Sameeh Jubran a53651ec93 net: ena: don't wake up tx queue when down
There is a race condition that can occur when calling ena_down().
The ena_clean_tx_irq() - which is a part of the napi handler -
function might wake up the tx queue when the queue is supposed
to be down (during recovery or changing the size of the queues
for example) This causes the ena_start_xmit() function to trigger
and possibly try to access the destroyed queues.

The race is illustrated below:

Flow A:                                       Flow B(napi handler)
ena_down()
   netif_carrier_off()
   netif_tx_disable()
                                                      ena_clean_tx_irq()
                                                         netif_tx_wake_queue()
   ena_napi_disable_all()
   ena_destroy_all_io_queues()

After these flows the tx queue is active and ena_start_xmit() accesses
the destroyed queue which leads to a kernel panic.

fixes: 1738cd3ed3 (net: ena: Add a driver for Amazon Elastic Network Adapters (ENA))

Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-09-16 21:40:18 +02:00
..
appletalk
arcnet arcnet: com20020-isa: Mark expected switch fall-throughs 2019-07-29 10:23:59 -07:00
bonding bonding: Add vlan tx offload to hw_enc_features 2019-08-08 22:01:44 -07:00
caif caif-hsi: fix possible deadlock in cfhsi_exit_module() 2019-07-17 11:58:56 -07:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 17:11:59 -07:00
dsa net: dsa: microchip: add KSZ8563 compatibility string 2019-08-31 23:36:37 -07:00
ethernet net: ena: don't wake up tx queue when down 2019-09-16 21:40:18 +02:00
fddi The main MIPS changes for a pretty light v5.3 cycle, including: 2019-07-17 09:42:03 -07:00
fjes
hamradio net/hamradio/6pack: Fix the size of a sk_buff used in 'sp_bump()' 2019-09-07 15:46:28 +02:00
hippi hippi: Remove call to memset after pci_alloc_consistent 2019-07-15 11:06:27 -07:00
hyperv hv_netvsc: Fix a warning of suspicious RCU usage 2019-08-09 13:42:19 -07:00
ieee802154 Merge branch 'ieee802154-for-davem-2019-08-24' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan 2019-08-24 13:46:57 -07:00
ipvlan
netdevsim netdevsim: Restore per-network namespace accounting for fib entries 2019-08-11 20:59:19 -07:00
phy net: phylink: Fix flow control resolution 2019-09-07 17:26:13 +02:00
plip
ppp compat_ioctl: pppoe: fix PPPOEIOCSFWD handling 2019-07-30 14:42:13 -07:00
slip
team team: Add vlan tx offload to hw_enc_features 2019-08-08 22:41:41 -07:00
usb cdc_ether: fix rndis support for Mediatek based smartphones 2019-09-13 22:08:13 +02:00
vmxnet3 vmxnet3: Remove call to memset after dma_alloc_coherent 2019-07-15 11:06:27 -07:00
wan net: lmc: fix spelling mistake "runnin" -> "running" 2019-09-11 15:11:59 +01:00
wimax wimax: i2400: fix memory leak 2019-09-11 09:10:13 +01:00
wireless rsi: fix a double free bug in rsi_91x_deinit() 2019-09-03 16:54:48 +03:00
xen-netback xen/netback: Reset nr_frags before freeing skb 2019-08-08 18:01:24 -07:00
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c tun: fix use-after-free when register netdev failed 2019-09-12 11:17:26 +01:00
veth.c
virtio_net.c virtio-net: lower min ring num_free for efficiency 2019-09-04 06:21:17 -04:00
vrf.c vrf: make sure skb->data contains ip header to make routing 2019-07-21 13:32:51 -07:00
vsockmon.c
vxlan.c
xen-netfront.c