CVE-2023-52505

phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers

published March 2, 2024

CVSS
—
EPSS
0%
Percentile
5.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers

The protocol converter configuration registers PCC8, PCCC, PCCD

(implemented by the driver), as well as others, control protocol

converters from multiple lanes (each represented as a different

struct phy). So, if there are simultaneous calls to phy_set_mode_ext()

to lanes sharing the same PCC register (either for the "old" or for the

"new" protocol), corruption of the values programmed to hardware is

possible, because lynx_28g_rmw() has no locking.

Add a spinlock in the struct lynx_28g_priv shared by all lanes, and take

the global spinlock from the phy_ops :: set_mode() implementation. There

are no other callers which modify PCC registers.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00168 · 5.9th percentile
Published
2024-03-02T21:52Z
EPSS history
Timeline
  • 02 MAR 21:52Z
    phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers
    cvelistv5