← CVE Intelligence

CVE-2026-72142

i2c: imx: fix locked bus on SMBus block-read of 0 (atomic) PUBLISHED

Description (CNA)

In the Linux kernel, the following vulnerability has been resolved: i2c: imx: fix locked bus on SMBus block-read of 0 (atomic) SMBus 3.1 6.5.7 allows a Block Read byte count of 0, but the atomic (polling) path rejects it as -EPROTO. Worse, it returns without a NACK+STOP: the next receive cycle has already started, so the target keeps holding SDA and the bus stays stuck until a power cycle for this i2c controller. Reading I2DR to obtain the count likewise arms the next byte on the count > I2C_SMBUS_BLOCK_MAX path, which also returned -EPROTO directly and left the bus held. Handle both: NACK the in-flight dummy byte (TXAK) and extend msgs->len so the existing last-byte handling emits STOP; the dummy byte is discarded. A count of 0 is a valid empty block read; a count above I2C_SMBUS_BLOCK_MAX is still reported as -EPROTO, but only after the bus has been released. The interrupt-driven path has the same flaw from a later commit and is fixed separately, as it carries a different Fixes: tag and stable range.

Affected (CNA)

Vendor / productVersions
Linux / Linuxaffected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before 0f29df3c3d607a9dbc14aed0e45504ced4d2e7ec; affected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before 38d4947431b2410850409fda016b2ac9f640a4dd; affected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before e3e8b02d4773cfc5ad561d2e5505efde36c6927a; affected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before 016ef0f6ca4bc9bf0330ac41bd2ea349759643e3; affected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before c882e8cc68fb993700dc21fd6e754001e6297934; affected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before 6d2c973926d0612360693bc559be2ffde836151b; affected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before 60ed00d46616a9232e42ea7a3e3c0273d7cf7543; affected 8e8782c71595a5ad29e234ce6b3d2fce787fb07a before cb2fc37857693b55909fb77dc2c87cfbc1cdc476
Linux / Linuxaffected 3.16; unaffected 0 before 3.16; unaffected 5.10.266 through 5.10.*; unaffected 5.15.217 through 5.15.*; unaffected 6.1.184 through 6.1.*; unaffected 6.6.148 through 6.6.*; unaffected 6.12.101 through 6.12.*; unaffected 6.18.40 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through *

CWE

No CWE identifiers supplied.

References