OrangePi_CM5/drivers/net/ethernet
Sebastian Andrzej Siewior d71a1c9fce net: Use u64_stats_fetch_begin_irq() for stats fetch.
commit 278d3ba61563ceed3cb248383ced19e14ec7bc1f upstream.

On 32bit-UP u64_stats_fetch_begin() disables only preemption. If the
reader is in preemptible context and the writer side
(u64_stats_update_begin*()) runs in an interrupt context (IRQ or
softirq) then the writer can update the stats during the read operation.
This update remains undetected.

Use u64_stats_fetch_begin_irq() to ensure the stats fetch on 32bit-UP
are not interrupted by a writer. 32bit-SMP remains unaffected by this
change.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Catherine Sullivan <csully@google.com>
Cc: David Awogbemila <awogbemila@google.com>
Cc: Dimitris Michailidis <dmichail@fungible.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jeroen de Borst <jeroendb@google.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <simon.horman@corigine.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: oss-drivers@corigine.com
Cc: stable@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-08 11:11:40 +02:00
..
3com
8390 net:mcf8390: Use platform_get_irq() to get the interrupt 2022-04-08 14:39:48 +02:00
adaptec
aeroflex net: ethernet: aeroflex: fix UAF in greth_of_remove 2021-07-14 16:56:24 +02:00
agere
alacritech
allwinner
alteon
altera net: altera: Fix refcount leak in altera_tse_mdio_create 2022-06-14 18:32:41 +02:00
amazon net: ena: Fix error handling when calculating max IO queues number 2022-01-11 15:25:01 +01:00
amd net: amd-xgbe: disable interrupts during pci removal 2022-02-16 12:54:26 +01:00
apm drivers: net: xgene: Fix regression in CRC stripping 2022-03-28 09:57:09 +02:00
apple
aquantia net: atlantic: fix aq_vec index out of range error 2022-08-25 11:37:56 +02:00
arc net: arc: select CRC32 2021-10-20 11:45:03 +02:00
atheros net: ag71xx: Fix a potential double free in error handling paths 2022-01-05 12:40:31 +01:00
aurora
broadcom bnxt_en: fix NQ resource accounting during vf creation on 57500 chips 2022-08-31 17:15:17 +02:00
brocade
cadence net: macb: Increment rx bd head after allocating skb and buffer 2022-05-25 09:17:57 +02:00
calxeda
cavium cavium: Fix return values of the probe function 2021-11-18 14:03:41 +01:00
chelsio tcp: Fix data-races around sysctl knobs related to SYN option. 2022-07-29 17:19:21 +02:00
cirrus
cisco ethernet:enic: Fix a use after free bug in enic_hard_start_xmit 2021-05-19 10:13:06 +02:00
cortina net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-09-08 11:11:40 +02:00
davicom net: davicom: Fix regulator not turned off on failed probe 2021-04-21 13:00:57 +02:00
dec ethernet: tulip: fix missing pci_disable_device() on error in tulip_init_one() 2022-05-25 09:18:00 +02:00
dlink
emulex be2net: Fix buffer overflow in be_get_module_eeprom 2022-07-29 17:19:20 +02:00
ezchip net: ethernet: ezchip: fix error handling 2021-07-14 16:56:24 +02:00
faraday net: ftgmac100: Hold reference returned by of_get_child_by_name() 2022-07-21 21:20:10 +02:00
freescale fec: Fix timer capture timing in `fec_ptp_enable_pps()` 2022-08-25 11:38:09 +02:00
fujitsu net: fujitsu: fix potential null-ptr-deref 2021-06-03 09:00:40 +02:00
google net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-09-08 11:11:40 +02:00
hisilicon net: hns3: add return value for mailbox handling in PF 2022-05-09 09:05:04 +02:00
huawei net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-09-08 11:11:40 +02:00
i825xx lib82596: Fix IRQ check in sni_82596_probe 2022-01-27 10:54:36 +01:00
ibm ibmvnic: Properly dispose of all skbs during a failover. 2022-07-12 16:32:21 +02:00
intel ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter 2022-08-31 17:15:21 +02:00
marvell octeontx2-pf: Forward error codes to VF 2022-02-01 17:25:45 +01:00
mediatek net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag 2022-06-22 14:13:15 +02:00
mellanox net/mlx5e: Properly disable vlan strip on non-UL reps 2022-08-31 17:15:16 +02:00
micrel Revert "net: micrel: fix KS8851_MLL Kconfig" 2022-04-27 13:53:58 +02:00
microchip lan743x: fix deadlock in lan743x_phy_link_status_change() 2021-12-01 09:19:06 +01:00
moxa net: moxa: get rid of asymmetry in DMA mapping/unmapping 2022-08-31 17:15:17 +02:00
mscc net: mscc: ocelot: allow unregistered IP multicast flooding 2022-07-02 16:39:25 +02:00
myricom myri10ge: fix an incorrect free for skb in myri10ge_sw_tso 2022-04-20 09:23:23 +02:00
natsemi natsemi: xtensa: fix section mismatch warnings 2021-12-08 09:03:23 +01:00
neterion ethernet: s2io: fix setting mac address during resume 2021-10-20 11:45:04 +02:00
netronome net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-09-08 11:11:40 +02:00
ni
nvidia
nxp net: ethernet: lpc_eth: Handle error for clk_enable 2022-03-16 14:15:58 +01:00
oki-semi net: pch_gbe: Use proper accessors to BE data in pch_ptp_match() 2021-07-19 09:44:37 +02:00
packetengines
pasemi
pensando ionic: fix up issues with handling EAGAIN on FW cmds 2022-08-31 17:15:21 +02:00
qlogic net/qla3xxx: Fix a test in ql_reset_work() 2022-05-25 09:17:58 +02:00
qualcomm net: qualcomm: fix QCA7000 checksum handling 2021-09-15 09:50:46 +02:00
rdc r6040: Restore MDIO clock frequency after MAC reset 2021-09-22 12:27:57 +02:00
realtek r8169: fix accessing unset transport header 2022-07-12 16:32:22 +02:00
renesas net: renesas: sh_eth: Fix freeing wrong tx descriptor 2021-09-22 12:28:06 +02:00
rocker ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler 2022-09-08 11:11:36 +02:00
samsung net: sxgbe: fix return value of __setup handler 2022-03-08 19:09:35 +01:00
seeq
sfc sfc: disable softirqs for ptp TX 2022-08-03 12:00:49 +02:00
sgi net: sgi: ioc3-eth: check return value after calling platform_get_resource() 2021-07-19 09:44:49 +02:00
silan
sis sis900: Fix missing pci_disable_device() in probe and remove 2021-08-04 12:46:44 +02:00
smsc epic100: fix use after free on rmmod 2022-07-07 17:52:19 +02:00
socionext netsec: restore phy power state after controller reset 2021-03-30 14:31:53 +02:00
stmicro stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove() 2022-08-25 11:38:09 +02:00
sun ethernet: sun: Free the coherent when failing in probing 2022-04-08 14:39:47 +02:00
synopsys
tehuti net: tehuti: fix error return code in bdx_probe() 2021-03-30 14:31:48 +02:00
ti net: ethernet: ti: am65-cpsw-nuss: Fix some refcount leaks 2022-06-14 18:32:35 +02:00
toshiba
tundra
via
wiznet net: w5100: check return value after calling platform_get_resource() 2021-09-18 13:40:35 +02:00
xilinx net: emaclite: Don't advertise 1000BASE-T and do auto negotiation 2022-05-18 10:23:45 +02:00
xircom
xscale net: ethernet: ixp4xx: Set the DMA masks explicitly 2021-05-14 09:50:40 +02:00
Kconfig net: korina: select CRC32 2021-10-20 11:45:03 +02:00
Makefile
dnet.c
dnet.h
ec_bhf.c net: ethernet: fix potential use-after-free in ec_bhf_remove 2021-06-23 14:42:47 +02:00
ethoc.c
fealnx.c
jme.c
jme.h
korina.c
lantiq_etop.c
lantiq_xrx200.c net: lantiq_xrx200: fix statistics of received bytes 2022-01-05 12:40:31 +01:00