linux-stable/drivers/net
Doug Berger db389e74d3 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-25 16:17:17 +02:00
..
appletalk
arcnet arcnet: restoring support for multiple Sohard Arcnet cards 2023-12-13 18:18:12 +01:00
bonding bonding: remove print in bond_verify_device_path 2024-02-23 08:25:05 +01:00
caif
can can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on() 2023-11-20 10:30:09 +01:00
dsa net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341 2024-05-17 11:43:49 +02:00
ethernet net: bcmgenet: synchronize UMAC_CMD access 2024-05-25 16:17:17 +02:00
fddi net: defxx: Fix missing err handling in dfx_init() 2023-01-18 11:41:13 +01:00
fjes fjes: fix memleaks in fjes_hw_setup 2024-02-23 08:24:51 +01:00
hamradio hamradio: baycom_epp: Fix return type of baycom_send_packet() 2023-01-18 11:41:35 +01:00
hippi
hyperv hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed 2024-03-15 10:48:18 -04:00
ieee802154 net: ieee802154: adf7242: Fix some potential buffer overflow in adf7242_stats_show() 2023-11-08 11:23:35 +01:00
ipvlan ipvlan: add ipvlan_route_v6_outbound() helper 2023-11-28 16:50:16 +00:00
netdevsim
phy net: phy: micrel: populate .soft_reset for KSZ9131 2024-01-25 14:34:32 -08:00
plip net: plip: don't call kfree_skb/dev_kfree_skb() under spin_lock_irq() 2022-12-14 11:30:48 +01:00
ppp ppp_async: limit MRU to 64K 2024-02-23 08:25:07 +01:00
slip
team team: Fix use-after-free when an option instance allocation fails 2023-12-20 15:41:25 +01:00
usb net:usb:qmi_wwan: support Rolling modules 2024-05-17 11:43:53 +02:00
vmxnet3
wan net: remove unneeded break 2024-02-23 08:25:04 +01:00
wimax
wireless wifi: ath9k: fix LNA selection in ath_ant_try_scan() 2024-04-13 12:51:37 +02:00
xen-netback xen-netback: properly sync TX responses 2024-02-23 08:25:11 +01:00
Kconfig
LICENSE.SRC
Makefile
Space.c
dummy.c
eql.c
geneve.c geneve: fix header validation in geneve[6]_xmit_skb 2024-05-02 16:18:28 +02:00
gtp.c net: gtp: Fix Use-After-Free in gtp_dellink 2024-05-02 16:18:33 +02:00
ifb.c
loopback.c net: loopback: use NET_NAME_PREDICTABLE for name_assign_type 2023-01-18 11:40:49 +01:00
macsec.c net: add DEV_STATS_READ() helper 2023-11-20 10:30:10 +01:00
macvlan.c macvlan: Don't propagate promisc change to lower dev in passthru 2023-11-28 16:50:17 +00:00
macvtap.c
mdio.c
mii.c
net_failover.c net/net_failover: fix txq exceeding warning 2023-04-05 11:16:44 +02:00
netconsole.c
nlmon.c
ntb_netdev.c ntb_netdev: Use dev_kfree_skb_any() in interrupt context 2023-01-18 11:41:16 +01:00
rionet.c
sb1000.c
sungem_phy.c
tap.c net: tap_open(): set sk_uid from current_fsuid() 2023-08-11 11:53:59 +02:00
thunderbolt.c net: thunderbolt: Fix TCPv6 GSO checksum calculation 2023-10-10 21:46:41 +02:00
tun.c tun: limit printing rate when illegal packet received by tun dev 2024-05-02 16:18:30 +02:00
veth.c veth: Fixing transmit return status for dropped packets 2023-09-23 10:59:58 +02:00
virtio_net.c virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings 2024-02-23 08:25:03 +01:00
vrf.c
vsockmon.c
vxlan.c vxlan: drop packets from invalid src-address 2024-05-02 16:18:33 +02:00
xen-netfront.c xen-netfront: Fix NULL sring after live migration 2022-12-14 11:30:45 +01:00