Description
In the Linux kernel, the following vulnerability has been resolved:

i2c: i801: fix hardware state machine corruption in error path

A severe livelock and subsequent Hung Task panic were observed in the
i2c-i801 driver during concurrent Fuzzing. The crash is caused by an
unconditional hardware register cleanup in the error handling path of
i801_access().

When i801_check_pre() fails (e.g., returning -EBUSY because the SMBus
controller is actively used by BIOS/ACPI), the kernel does not actually
acquire the hardware ownership. However, the code jumps to the 'out'
label and executes:

iowrite8(SMBHSTSTS_INUSE_STS | STATUS_FLAGS, SMBHSTSTS(priv));

This forcefully clears the INUSE_STS lock and resets the hardware status
flags without owning the controller. Doing so interrupts ongoing BIOS/ACPI
transactions and totally corrupts the SMBus hardware state machine.

Consequently, all subsequent i801_access() calls fail at the pre-check
stage, triggering an endless stream of "SMBus is busy, can't use it!"
error logs. Over a slow serial console, this printk flood monopolizes
the CPU (Console Livelock), starving other processes trying to acquire
the mmap_lock down_read semaphore, ultimately triggering the hung task
watchdog.

Fix this by moving the 'out' label below the hardware register cleanup.
If i801_check_pre() fails, we safely bypass the iowrite8() and only
release the software locks (pm_runtime and mutex), strictly adhering to
the rule of not releasing resources that were never acquired.
Published: 2026-07-20
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The i2c-i801 driver contains an error path that writes to the SMBus controller’s INUSE bit and clears status flags even when the controller is not owned, leading to corruption of the controller’s hardware state machine. The resulting printk flood consumes CPU time and triggers the hung task watchdog, which brings the entire kernel to a halt. The weakness is a misuse of lock handling (CWE‑826).

Affected Systems

All Linux kernel versions that include the i2c‑i801 driver and have not yet integrated the upstream fix are affected. This includes any distribution kernel that implements Intel PCH SMBus support. The vulnerability applies regardless of architecture, as it is inherent to the driver logic.

Risk and Exploitability

The EPSS score is < 1 % and the vulnerability is not listed in KEV, indicating a low probability of exploitation in the wild. The CVSS score of 5.5 shows moderate severity; the impact is a system hang. The attack scenario likely involves a condition where the SMBus controller is busy, as described in the defect, but the CVE does not provide evidence that an attacker can easily create this state. Based on the description, such a condition is inferred from the code path, yet exploitability remains undocumented, so the overall risk is moderate with severe potential damage if triggered.

Generated by OpenCVE AI on August 4, 2026 at 06:00 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the upstream patch for i2c‑i801 error handling
  • If an immediate upgrade is not possible, disable SMBus access from the system firmware or otherwise prevent the controller from being in use by BIOS/ACPI during kernel operation
  • Configure the kernel to suppress excessive console output (e.g., set quiet or limit printk levels) to avoid CPU starvation while the error condition persists

Generated by OpenCVE AI on August 4, 2026 at 06:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6415-1 linux security update
History

Mon, 03 Aug 2026 10:15:00 +0000


Tue, 21 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-826
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Mon, 20 Jul 2026 16:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: i2c: i801: fix hardware state machine corruption in error path A severe livelock and subsequent Hung Task panic were observed in the i2c-i801 driver during concurrent Fuzzing. The crash is caused by an unconditional hardware register cleanup in the error handling path of i801_access(). When i801_check_pre() fails (e.g., returning -EBUSY because the SMBus controller is actively used by BIOS/ACPI), the kernel does not actually acquire the hardware ownership. However, the code jumps to the 'out' label and executes: iowrite8(SMBHSTSTS_INUSE_STS | STATUS_FLAGS, SMBHSTSTS(priv)); This forcefully clears the INUSE_STS lock and resets the hardware status flags without owning the controller. Doing so interrupts ongoing BIOS/ACPI transactions and totally corrupts the SMBus hardware state machine. Consequently, all subsequent i801_access() calls fail at the pre-check stage, triggering an endless stream of "SMBus is busy, can't use it!" error logs. Over a slow serial console, this printk flood monopolizes the CPU (Console Livelock), starving other processes trying to acquire the mmap_lock down_read semaphore, ultimately triggering the hung task watchdog. Fix this by moving the 'out' label below the hardware register cleanup. If i801_check_pre() fails, we safely bypass the iowrite8() and only release the software locks (pm_runtime and mutex), strictly adhering to the rule of not releasing resources that were never acquired.
Title i2c: i801: fix hardware state machine corruption in error path
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-03T09:32:39.050Z

Reserved: 2026-07-19T15:36:31.769Z

Link: CVE-2026-64205

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-20T00:00:00Z

Links: CVE-2026-64205 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T06:15:04Z

Weaknesses
  • CWE-826

    Premature Release of Resource During Expected Lifetime