Description
In the Linux kernel, the following vulnerability has been resolved: net: stmmac: initialize ptp_lock at probe time priv->ptp_lock is only initialized in stmmac_ptp_register(), which runs during __stmmac_open(). However, the lock is also used while the interface is down and has never been opened: tc_taprio_configure() invokes the PTP gettime64() callback to compute the EST base time when offloading a TAPRIO schedule, and stmmac_get_time() takes priv->ptp_lock. Using an uninitialized rwlock is undefined behaviour. Move the rwlock_init() to __stmmac_dvr_probe(), together with the other private locks, so that ptp_lock is always valid regardless of the interface state.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
b60189e0392fa06348911077ef281eb2b1047b6a to < ee33e424d4932c70f103b94a46b685923f236f65affectedb60189e0392fa06348911077ef281eb2b1047b6a to < 7ced87834f3a58761d4bbcabf8326478548e6a54affectedb60189e0392fa06348911077ef281eb2b1047b6a to < 79fb5bcc50996964e076dffbdc24b7d2c06bd957affectedb60189e0392fa06348911077ef281eb2b1047b6a to < 420315413b29635de1d4ea4142e410e6465260f3affectedb60189e0392fa06348911077ef281eb2b1047b6a to < 25cc0096efba83b4e0e6fa50f03e9543b41e9d3daffectedb60189e0392fa06348911077ef281eb2b1047b6a to < b1986595cf827c38ff929e22fbc9ca8f76379306affectedb60189e0392fa06348911077ef281eb2b1047b6a to < 0338c68e22abd2ee509ec2e32508a50896618c32affected
Linux Linux
Default version status: affected
5.6affected0 to < 5.6unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ee33e424d4932c70f103b94a46b685923f236f65 ↗
- https://git.kernel.org/stable/c/7ced87834f3a58761d4bbcabf8326478548e6a54 ↗
- https://git.kernel.org/stable/c/79fb5bcc50996964e076dffbdc24b7d2c06bd957 ↗
- https://git.kernel.org/stable/c/420315413b29635de1d4ea4142e410e6465260f3 ↗
- https://git.kernel.org/stable/c/25cc0096efba83b4e0e6fa50f03e9543b41e9d3d ↗
- https://git.kernel.org/stable/c/b1986595cf827c38ff929e22fbc9ca8f76379306 ↗
- https://git.kernel.org/stable/c/0338c68e22abd2ee509ec2e32508a50896618c32 ↗