Linux Kernel w83791d Fan Driver: TOCTOU Race Causing Divide-by-Zero
CVE-2025-71111 Published on January 14, 2026
hwmon: (w83791d) Convert macros to functions to avoid TOCTOU
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.
Products Associated with CVE-2025-71111
stack.watch emails you whenever new vulnerabilities are published in Linux Kernel or Canonical Ubuntu Linux. Just hit a watch button to start following.
Affected Versions
Linux:- Version 9873964d6eb24bd0205394f9b791de9eddbcb855 and below 3dceb68f6ad33156032ef4da21a93d84059cca6d is affected.
- Version 9873964d6eb24bd0205394f9b791de9eddbcb855 and below bf5b03227f2e6d4360004886d268f9df8993ef8f is affected.
- Version 9873964d6eb24bd0205394f9b791de9eddbcb855 and below f2b579a0c37c0df19603d719894a942a295f634a is affected.
- Version 9873964d6eb24bd0205394f9b791de9eddbcb855 and below f94800fbc26ccf7c81eb791707b038a57aa39a18 is affected.
- Version 9873964d6eb24bd0205394f9b791de9eddbcb855 and below a9fb6e8835a22f5796c1182ed612daed3fd273af is affected.
- Version 9873964d6eb24bd0205394f9b791de9eddbcb855 and below c8cf0c2bdcccc6634b6915ff793b844e12436680 is affected.
- Version 9873964d6eb24bd0205394f9b791de9eddbcb855 and below 670d7ef945d3a84683594429aea6ab2cdfa5ceb4 is affected.
- Version 2.6.18 is affected.
- Before 2.6.18 is unaffected.
- Version 5.10.248, <= 5.10.* is unaffected.
- Version 5.15.198, <= 5.15.* is unaffected.
- Version 6.1.160, <= 6.1.* is unaffected.
- Version 6.6.120, <= 6.6.* is unaffected.
- Version 6.12.64, <= 6.12.* is unaffected.
- Version 6.18.3, <= 6.18.* is unaffected.
- Version 6.19, <= * is unaffected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.