cveboard RSS feed

CVE-2026-64205

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2026
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

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

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.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
1f760b87e54cf56a25ab68f8dc625e339f6e46d5affectedgit2ef69871b313aa0f02182795f5e0f5aa455f203cUnavailableNone listed
1f760b87e54cf56a25ab68f8dc625e339f6e46d5affectedgitef5a347532932f58748dad485c15039f5168c377UnavailableNone listed
1f760b87e54cf56a25ab68f8dc625e339f6e46d5affectedgitbb5133a7d5f3fe5c387770e25f2e00e682ce11edUnavailableNone listed
1f760b87e54cf56a25ab68f8dc625e339f6e46d5affectedgit00904687b9c5527d569d9a1ca72119823e735a61UnavailableNone listed
1f760b87e54cf56a25ab68f8dc625e339f6e46d5affectedgit10dd1a736d557e310a77117832874729a0175d57UnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
6.3affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver6.3UnavailableNone listed
6.6.148unaffectedsemverUnavailable6.6.*None listed
6.12.101unaffectedsemverUnavailable6.12.*None listed
6.18.39unaffectedsemverUnavailable6.18.*None listed
7.1.4unaffectedsemverUnavailable7.1.*None listed
7.2unaffectedoriginal_commit_for_fixUnavailable*None listed