CVE-2026-80660
Received Received - Intake

Lock Ordering Issue in Linux Kernel OCC hwmon Driver

Vulnerability report for CVE-2026-80660, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-28

Last updated on: 2026-08-28

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: hwmon: (occ) unregister sysfs devices outside occ lock occ_active(false) and occ_shutdown() unregister sysfs-backed devices while occ->lock is held. hwmon_device_unregister() and sysfs_remove_group() can wait for active sysfs callbacks to drain, and those callbacks can enter the OCC update path and try to take occ->lock again. That gives the unregister paths the lock ordering occ->lock -> sysfs callback drain, while a callback has the opposite edge sysfs callback -> occ->lock. This issue was found by our static analysis tool and then manually reviewed against the current tree. The grounded PoC kept the real unregister and callback carrier: occ_shutdown() hwmon_device_unregister() occ_show_temp_1() occ_update_response() Lockdep reported the circular dependency with occ_shutdown() already holding the OCC mutex and hwmon_device_unregister() waiting on the sysfs side: WARNING: possible circular locking dependency detected ... (sysfs_lock) ... at: hwmon_device_unregister+0x12/0x30 [vuln_msv] ... (&test_occ.lock) ... at: occ_shutdown.constprop.0+0xe/0x40 [vuln_msv] occ_update_response.isra.0+0xb/0x20 [vuln_msv] occ_show_temp_1.constprop.0.isra.0+0x23/0x40 [vuln_msv] *** DEADLOCK *** Serialize hwmon registration and removal with a separate hwmon_lock. Under that lock, detach occ->hwmon and update occ->active while occ->lock is held so concurrent OCC state changes still see a stable state, then drop occ->lock before calling hwmon_device_unregister(). Remove the driver sysfs group before taking occ->lock in occ_shutdown(), so draining the driver attributes cannot wait while the OCC mutex is held. Also make OCC update callbacks return -ENODEV after deactivation, so callbacks that already passed sysfs active protection do not poll the hardware after teardown has detached the hwmon device.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-28
Last Modified
2026-08-28
Generated
2026-08-28
AI Q&A
2026-08-28
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves a deadlock in the hwmon subsystem related to the OCC (On-Chip Controller) driver. The issue occurs when sysfs devices are unregistered while holding a lock, which can lead to a circular dependency where callbacks try to reacquire the same lock, causing a system hang.

Detection Guidance

This vulnerability is specific to the Linux kernel's hwmon subsystem and OCC (On-Chip Controller) driver. Detection requires checking kernel logs for lockdep warnings or circular locking dependencies involving occ_shutdown and hwmon_device_unregister. Use dmesg | grep -i lockdep or dmesg | grep -i occ to inspect for related errors.

Impact Analysis

This vulnerability can cause system hangs or crashes due to deadlocks in the kernel. Users may experience unresponsive systems or require a reboot to recover. It primarily affects systems using the OCC hwmon driver for hardware monitoring.

Mitigation Strategies

Apply the latest kernel patches that address this issue. Update your Linux distribution to a version containing the fix. Monitor kernel security advisories for updates related to hwmon or OCC drivers.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-80660. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart