linux/drivers/net
Doug Berger 74022f08e0 net: bcmgenet: synchronize UMAC_CMD access
commit 0d5e2a8223 upstream.

The UMAC_CMD register is written from different execution
contexts and has insufficient synchronization protections to
prevent possible corruption. Of particular concern are the
acceses from the phy_device delayed work context used by the
adjust_link call and the BH context that may be used by the
ndo_set_rx_mode call.

A spinlock is added to the driver to protect contended register
accesses (i.e. reg_lock) and it is used to synchronize accesses
to UMAC_CMD.

Fixes: 1c1008c793 ("net: bcmgenet: add main driver file")
Cc: stable@vger.kernel.org
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-17 12:15:04 +02:00
..
arcnet net: fill in MODULE_DESCRIPTION()s for missing arcnet 2024-02-15 08:03:46 -08:00
bonding xdp, bonding: Fix feature flags when there are no slave devs anymore 2024-03-05 16:19:42 -08:00
caif
can can: m_can: Start/Cancel polling timer together with interrupts 2024-03-26 18:16:43 -04:00
dsa net: dsa: mv88e6xxx: add phylink_get_caps for the mv88e6320/21 family 2024-05-17 12:14:56 +02:00
ethernet net: bcmgenet: synchronize UMAC_CMD access 2024-05-17 12:15:04 +02:00
fddi net: fill in MODULE_DESCRIPTION()s for fddik/skfp 2024-02-15 08:03:46 -08:00
fjes fjes: fix memleaks in fjes_hw_setup 2024-01-24 18:03:53 -08:00
hamradio
hippi
hyperv hv_netvsc: Don't free decrypted memory 2024-05-17 12:14:47 +02:00
ieee802154 net: fill in MODULE_DESCRIPTION()s for ieee802154/fakelb 2024-02-15 08:03:45 -08:00
ipa net: ipa: don't overrun IPA suspend interrupt registers 2024-02-21 11:25:17 +00:00
ipvlan net: fill in MODULE_DESCRIPTION()s for ipvtap 2024-02-09 14:12:02 -08:00
mctp
mdio net: mdio: mux-bcm-iproc: Use alignment helpers and SZ_4K 2024-01-03 16:40:59 -08:00
netdevsim netdevsim: avoid potential loop in nsim_dev_trap_report_work() 2024-02-02 11:00:38 -08:00
pcs net: pcs: xpcs: Return EINVAL in the internal methods 2024-04-13 13:10:00 +02:00
phy net: phy: dp83869: Fix MII mode failure 2024-05-02 16:35:21 +02:00
plip net: fill in MODULE_DESCRIPTION()s for plip 2024-02-15 08:03:46 -08:00
ppp net: fill in MODULE_DESCRIPTION()s for ppp 2024-02-15 08:03:46 -08:00
pse-pd
slip net: fill in MODULE_DESCRIPTION()s for SLIP 2024-01-11 16:16:08 -08:00
team
thunderbolt
usb net:usb:qmi_wwan: support Rolling modules 2024-05-17 12:14:50 +02:00
vmxnet3 vmxnet3: Fix missing reserved tailroom 2024-03-26 18:17:32 -04:00
vxlan vxlan: Pull inner IP header in vxlan_rcv(). 2024-05-17 12:14:33 +02:00
wan net: fill in MODULE_DESCRIPTION()s for ds26522 module 2024-01-11 16:16:08 -08:00
wireguard wireguard: netlink: access device through ctx instead of peer 2024-04-03 15:32:26 +02:00
wireless wifi: iwlwifi: mvm: guard against invalid STA ID on removal 2024-05-17 12:14:38 +02:00
wwan net: wwan: t7xx: Split 64bit accesses to fix alignment issues 2024-04-10 16:37:56 +02:00
xen-netback net: fill in MODULE_DESCRIPTION()s for xen-netback 2024-02-15 08:03:45 -08:00
amt.c amt: do not use overwrapped cb area 2024-01-11 16:55:17 -08:00
bareudp.c
dummy.c net: add netdev_lockdep_set_classes() to virtual drivers 2024-04-13 13:09:59 +02:00
eql.c
geneve.c geneve: fix header validation in geneve[6]_xmit_skb 2024-04-17 11:23:29 +02:00
gtp.c net: gtp: Fix Use-After-Free in gtp_dellink 2024-05-02 16:35:17 +02:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: add netdev_lockdep_set_classes() to virtual drivers 2024-04-13 13:09:59 +02:00
macsec.c macsec: Detect if Rx skb is macsec-related for offloading devices that update md_dst 2024-05-02 16:35:31 +02:00
macvlan.c
macvtap.c
Makefile
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
netkit.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
tun.c tun: limit printing rate when illegal packet received by tun dev 2024-04-27 17:12:52 +02:00
veth.c net: add netdev_lockdep_set_classes() to virtual drivers 2024-04-13 13:09:59 +02:00
virtio_net.c virtio_net: Do not send RSS key if it is not supported 2024-04-17 11:23:24 +02:00
vrf.c
vsockmon.c
xen-netfront.c xen-netfront: Add missing skb_mark_for_recycle 2024-04-10 16:38:02 +02:00