Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: hwmon: (w83791d) Convert macros to functions to avoid TOCTOU The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors. Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions. Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data. Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 9873964d6eb24bd0205394f9b791de9eddbcb855 before 3dceb68f6ad33156032ef4da21a93d84059cca6d; affected 9873964d6eb24bd0205394f9b791de9eddbcb855 before bf5b03227f2e6d4360004886d268f9df8993ef8f; affected 9873964d6eb24bd0205394f9b791de9eddbcb855 before f2b579a0c37c0df19603d719894a942a295f634a; affected 9873964d6eb24bd0205394f9b791de9eddbcb855 before f94800fbc26ccf7c81eb791707b038a57aa39a18; affected 9873964d6eb24bd0205394f9b791de9eddbcb855 before a9fb6e8835a22f5796c1182ed612daed3fd273af; affected 9873964d6eb24bd0205394f9b791de9eddbcb855 before c8cf0c2bdcccc6634b6915ff793b844e12436680; affected 9873964d6eb24bd0205394f9b791de9eddbcb855 before 670d7ef945d3a84683594429aea6ab2cdfa5ceb4 |
| Linux / Linux | affected 2.6.18; unaffected 0 before 2.6.18; unaffected 5.10.248 through 5.10.*; unaffected 5.15.198 through 5.15.*; unaffected 6.1.160 through 6.1.*; unaffected 6.6.120 through 6.6.*; unaffected 6.12.64 through 6.12.*; unaffected 6.18.3 through 6.18.*; unaffected 6.19 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/3dceb68f6ad33156032ef4da21a93d84059cca6d
- https://git.kernel.org/stable/c/bf5b03227f2e6d4360004886d268f9df8993ef8f
- https://git.kernel.org/stable/c/f2b579a0c37c0df19603d719894a942a295f634a
- https://git.kernel.org/stable/c/f94800fbc26ccf7c81eb791707b038a57aa39a18
- https://git.kernel.org/stable/c/a9fb6e8835a22f5796c1182ed612daed3fd273af
- https://git.kernel.org/stable/c/c8cf0c2bdcccc6634b6915ff793b844e12436680
- https://git.kernel.org/stable/c/670d7ef945d3a84683594429aea6ab2cdfa5ceb4
ADP enrichment
No English description supplied.
No references supplied.