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.
History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published: 2024-03-02T21:52:19.215Z

Updated: 2024-11-04T14:48:10.352Z

Reserved: 2024-02-20T12:30:33.314Z

Link: CVE-2023-52505

cve-icon Vulnrichment

Updated: 2024-08-02T23:03:20.376Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2024-03-02T22:15:47.350

Modified: 2024-03-04T13:58:23.447

Link: CVE-2023-52505

cve-icon Redhat

Severity : Low

Publid Date: 2024-03-02T00:00:00Z

Links: CVE-2023-52505 - Bugzilla