Doug Berger
00d1a1bc1f
net: bcmgenet: synchronize UMAC_CMD access
...
commit 0d5e2a82232605b337972fb2c7d0cbc46898aca1 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:02:32 +02:00
..
2024-04-17 11:19:34 +02:00
2024-04-27 17:11:40 +02:00
2024-05-02 16:32:46 +02:00
2024-04-27 17:11:38 +02:00
2024-05-17 12:02:13 +02:00
2024-02-16 19:10:49 +01:00
2024-05-17 12:01:59 +02:00
2024-03-26 18:19:19 -04:00
2024-05-17 12:01:56 +02:00
2024-04-13 13:07:38 +02:00
2024-03-01 13:35:08 +01:00
2024-04-27 17:11:30 +02:00
2024-05-17 12:02:19 +02:00
2024-04-03 15:28:50 +02:00
2024-04-27 17:11:39 +02:00
2024-02-23 09:25:01 +01:00
2024-04-13 13:07:32 +02:00
2024-04-13 13:07:29 +02:00
2024-04-03 15:28:40 +02:00
2024-05-02 16:32:35 +02:00
2024-02-05 20:14:15 +00:00
2024-05-17 12:01:55 +02:00
2024-04-10 16:35:40 +02:00
2024-01-25 15:35:12 -08:00
2024-02-05 20:14:31 +00:00
2024-05-17 12:02:30 +02:00
2024-04-17 11:19:27 +02:00
2024-05-17 12:02:26 +02:00
2024-05-17 12:02:27 +02:00
2024-05-02 16:32:44 +02:00
2024-05-17 12:02:17 +02:00
2024-05-17 12:02:22 +02:00
2024-03-26 18:20:06 -04:00
2024-05-02 16:32:49 +02:00
2024-03-26 18:20:01 -04:00
2024-01-25 15:35:12 -08:00
2024-05-17 12:02:31 +02:00
2024-05-17 12:02:20 +02:00
2024-04-13 13:07:37 +02:00
2024-04-27 17:11:37 +02:00
2024-05-17 12:02:17 +02:00
2024-05-02 16:32:45 +02:00
2024-04-03 15:28:27 +02:00
2024-02-05 20:14:31 +00:00
2024-04-17 11:19:25 +02:00
2024-04-27 17:11:30 +02:00
2024-03-26 18:19:32 -04:00
2024-03-26 18:19:55 -04:00
2024-05-17 12:01:56 +02:00
2024-05-02 16:32:43 +02:00
2024-05-17 12:01:55 +02:00
2024-05-17 12:02:32 +02:00
2024-05-02 16:32:36 +02:00
2024-03-26 18:19:48 -04:00
2024-05-17 12:01:59 +02:00
2024-05-17 12:01:55 +02:00
2024-04-10 16:36:06 +02:00
2024-03-26 18:19:40 -04:00
2024-01-31 16:18:52 -08:00
2024-01-20 11:51:48 +01:00
2024-04-27 17:11:44 +02:00
2024-04-13 13:07:36 +02:00
2024-05-02 16:32:49 +02:00
2024-05-17 12:01:58 +02:00
2024-05-17 12:02:19 +02:00
2024-04-13 13:07:30 +02:00
2024-02-05 20:14:15 +00:00
2024-05-17 12:01:58 +02:00
2024-04-03 15:28:19 +02:00
2024-04-03 15:28:52 +02:00
2024-05-17 12:02:12 +02:00
2024-04-03 15:28:16 +02:00
2024-01-20 11:51:44 +01:00
2024-01-31 16:18:50 -08:00
2024-05-17 12:01:55 +02:00
2024-05-17 12:02:06 +02:00
2024-05-17 12:02:15 +02:00
2024-04-03 15:28:28 +02:00
2024-04-03 15:28:32 +02:00
2024-05-02 16:32:47 +02:00
2024-05-17 12:02:05 +02:00
2024-02-05 20:14:32 +00:00
2024-04-03 15:28:59 +02:00
2024-05-17 12:02:15 +02:00
2024-04-03 15:28:44 +02:00
2024-04-13 13:07:39 +02:00
2024-04-27 17:11:44 +02:00
2024-04-27 17:11:39 +02:00
2024-05-17 12:02:12 +02:00
2024-05-17 12:02:17 +02:00
2024-05-17 12:02:29 +02:00
2024-03-26 18:20:10 -04:00
2024-04-03 15:28:59 +02:00
2024-04-17 11:19:35 +02:00
2024-05-02 16:32:46 +02:00
2024-04-03 15:28:36 +02:00
2024-05-17 12:01:55 +02:00
2024-03-26 18:20:02 -04:00
2024-04-13 13:07:39 +02:00