linux_dsm_epyc7002/drivers/net/ethernet
Bert Kenward 46d054f8f5 sfc: clear napi_hash state when copying channels
efx_copy_channel() doesn't correctly clear the napi_hash related state.
This means that when napi_hash_add is called for that channel nothing is
done, and we are left with a copy of the napi_hash_node from the old
channel. When we later call napi_hash_del() on this channel we have a
stale napi_hash_node.

Corruption is only seen when there are multiple entries in one of the
napi_hash lists. This is made more likely by having a very large number
of channels. Testing was carried out with 512 channels - 32 channels on
each of 16 ports.

This failure typically appears as protection faults within napi_by_id()
or napi_hash_add(). efx_copy_channel() is only used when tx or rx ring
sizes are changed (ethtool -G).

Fixes: 36763266bb ("sfc: Add support for busy polling")
Signed-off-by: Bert Kenward <bkenward@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-13 13:41:42 -05:00
..
3com 3c59x: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:57 -07:00
8390
adaptec starfire: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:57 -07:00
adi net: bfin_mac: Fix a few spelling fixes 2016-08-13 15:14:56 -07:00
aeroflex net: ethernet: greth: use phy_ethtool_{get|set}_link_ksettings 2016-08-08 15:42:21 -07:00
agere net: ethernet: et131x: constify ethtool_ops structures 2016-08-31 09:22:30 -07:00
allwinner
alteon
altera ethernet: altera: add missing of_node_put 2016-08-01 21:42:57 -07:00
amazon net: ena: change the return type of ena_set_push_mode() to be void. 2016-08-23 17:42:33 -07:00
amd ethernet: amd: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
apm drivers: net: xgene: fix: Coalescing values for v2 hardware 2016-11-01 12:04:52 -04:00
apple
arc net: arc_emac: mark arc_mdio_reset() static 2016-09-06 15:58:59 -07:00
atheros alx: fix error handling in __alx_open 2016-09-15 20:15:26 -04:00
aurora net: ethernet: nb8800: Fix module autoload 2016-10-17 13:03:02 -04:00
broadcom bnxt_en: Fix VF virtual link state. 2016-11-13 12:37:31 -05:00
brocade bna: Add synchronization for tx ring. 2016-11-09 13:31:10 -05:00
cadence net: macb: NULL out phydev after removing mdio bus 2016-10-07 23:55:59 -04:00
calxeda
cavium liquidio: CN23XX: fix a loop timeout 2016-10-13 12:12:50 -04:00
chelsio cxgb4: correct device ID of T6 adapter 2016-11-03 15:19:16 -04:00
cirrus
cisco enic: fix rq disable 2016-10-29 17:23:39 -04:00
davicom dm9000: Fix irq trigger type setup on non-dt platforms 2016-08-09 15:08:22 -07:00
dec net: fix up a few missing hashtable.h conflict resolutions 2016-08-13 14:51:02 -07:00
dlink sundance: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
emulex be2net: Enable VF link state setting for BE3 2016-10-09 09:30:39 -04:00
ezchip net: nps_enet: Fix module autoload 2016-10-17 13:03:02 -04:00
faraday net/faraday: Stop NCSI device on shutdown 2016-10-04 02:11:51 -04:00
freescale net: fec: Call swap_buffer() prior to IP header alignment 2016-10-23 17:41:41 -04:00
fujitsu
hisilicon net: hns: fix device reference leaks 2016-11-07 13:17:30 -05:00
hp
i825xx i825xx: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
ibm ibmvnic: Start completion queue negotiation at server-provided optimum values 2016-11-09 18:52:41 -05:00
intel i40e: fix call of ndo_dflt_bridge_getlink() 2016-10-27 14:12:52 -07:00
marvell net: mv643xx_eth: ensure coalesce settings survive read-modify-write 2016-11-01 12:17:16 -04:00
mediatek net: ethernet: mediatek: get hw lro capability by the chip id instead of by the dtsi 2016-10-06 21:08:08 -04:00
mellanox mlxsw: spectrum_router: Correctly dump neighbour activity 2016-11-13 12:51:00 -05:00
micrel
microchip kthread: kthread worker API cleanup 2016-10-11 15:06:33 -07:00
moxa
myricom
natsemi natsemi: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
neterion
netronome nfp: bpf: zero extend 4 byte context loads 2016-09-30 02:10:15 -04:00
nuvoton net: ethernet: nuvoton: fix spelling mistake: "aligment" -> "alignment" 2016-08-18 23:29:43 -07:00
nvidia
nxp net: lpc_eth: Check clk_prepare_enable() error 2016-08-23 17:10:16 -07:00
oki-semi
packetengines
pasemi
qlogic qed: Correct rdma params configuration 2016-11-10 12:55:20 -05:00
qualcomm net: qcom/emac: enable flow control if requested 2016-11-09 18:45:24 -05:00
rdc net: r6040: add in missing white space in error message text 2016-09-18 22:22:16 -04:00
realtek r8169: set coherent DMA mask as well as streaming DMA mask 2016-10-15 17:29:38 -04:00
renesas sh_eth: add R8A7743/5 support 2016-09-28 05:01:50 -04:00
rocker rocker: fix error return code in rocker_world_check_init() 2016-10-26 17:20:36 -04:00
samsung
seeq
sfc sfc: clear napi_hash state when copying channels 2016-11-13 13:41:42 -05:00
sgi
silan
sis sis900: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
smsc net: smc91x: take into account register shift 2016-09-25 23:45:32 -04:00
stmicro stmmac: display the descriptors if DES0 = 0 2016-10-20 11:27:25 -04:00
sun treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
synopsys dwc_eth_qos: enable flow control by default 2016-10-18 10:29:17 -04:00
tehuti net: tehuti: fix typo: "eneble" -> "enable" 2016-08-21 15:21:36 -07:00
ti net: ethernet: ti: davinci_emac: fix device reference leak 2016-11-07 13:17:30 -05:00
tile
toshiba net: ps3_gelic: Add missing \n to end of deb_dbg message 2016-10-06 20:41:16 -04:00
tundra net/ethernet: tundra: fix dump_eth_one warning in tsi108_eth 2016-08-08 13:08:21 -07:00
via via-velocity: remove null pointer check on array tdinfo->skb_dma 2016-09-09 18:17:33 -07:00
wiznet treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
xilinx net: axienet: Remove unused parameter from __axienet_device_reset 2016-10-13 12:15:28 -04:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
korina.c
lantiq_etop.c
Makefile net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
netx-eth.c