hwmon: (lm90) Stop work before releasing hwmon device (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.09 % · percentile 0 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
Description
In the Linux kernel, the following vulnerability has been resolved: hwmon: (lm90) Stop work before releasing hwmon device Sashiko reports: In lm90_probe(), the devm action to cancel the alert_work and report_work (lm90_restore_conf) is registered in lm90_init_client() before devm_hwmon_device_register_with_info() is called. Because devm executes cleanup actions in reverse order during module unbind or probe failure, the hwmon device is unregistered and freed first. If lm90_alert_work() or lm90_report_alarms() runs in the window between the hwmon device being freed and the delayed works being cancelled, lm90_update_alarms() will dereference the freed data->hwmon_dev here. Fix the problem by canceling the workers separately after registering the hwmon device and before registering the interrupt handler. This ensures that the workers are canceled after interrupts are disabled and before the hwmon device is released. Add "shutdown" flag to indicate that device shutdown is in progress to prevent workers from being re-armed.
Weaknesses (CWE)
- CWE-362 — Concurrent Execution using Shared Resource with Improper Synchronization
References
- https://git.kernel.org/stable/c/1decb2c1762f77910de787fbf9b3afb40cc1d646
- https://git.kernel.org/stable/c/1fe96176636cb17906680c098688b144bd9c1c45
- https://git.kernel.org/stable/c/5c116abf208dd97c4ceb76c5c50c9bc34a017796
- https://git.kernel.org/stable/c/c98107817b0f6cdf51adc5e84e75c39ee25d8b28
- https://git.kernel.org/stable/c/479e297526aeb19c745eac5c1897f455f83dc5f8
- https://git.kernel.org/stable/c/b09a45601094c7f4ec4db8090b825fa61e169d93
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 4.7 | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2026-45611
- GCVE · GCVE-0-2026-64038
CERT-FR advisories
- CERTFR-2026-AVI-1372 — Multiples vulnérabilités dans les produits SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1335 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1252 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1229 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1162 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1066 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0954 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0926 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.0 < 6.18.34cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.19 < 7.0.11cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected f6d0775119fb905fb02eafa98d575cf8ee792d46 < 1decb2c1762f77910de787fbf9b3afb40cc1d646 ; affected f6d0775119fb905fb02eafa98d575cf8ee792d46 < 1fe96176636cb17906680c098688b144bd9c1c45 ; affected f6d0775119fb905fb02eafa98d575cf8ee792d46 < 5c116abf208dd97c4ceb76c5c50c9bc34a017796 ; affected f6d0775119fb905fb02eafa98d575cf8ee792d46 < c98107817b0f6cdf51adc5e84e75c39ee25d8b28 ; affected f6d0775119fb905fb02eafa98d575cf8ee792d46 < 479e297526aeb19c745eac5c1897f455f83dc5f8 ; affected f6d0775119fb905fb02eafa98d575cf8ee792d46 < b09a45601094c7f4ec4db8090b825fa61e169d93 |
| Linux · Linux | affected 6.0 ; unaffected 0 < 6.0 ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.160 ≤ 6.6.* ; unaffected 6.12.114 ≤ 6.12.* ; unaffected 6.18.34 ≤ 6.18.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |