i2c: imx: fix locked bus on SMBus block-read of 0 (atomic)
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux | unaffected |
|
|||||||||||||||||||||||||||||||||
| Linux | Linux | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux Kernel |
|
||||||||||||||||||||||||||||
| Linux | Linux Kernel |
|
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-4745-1 | linux-6.12 security update |
Debian DLA |
DLA-4777-1 | linux security update |
Ubuntu USN |
USN-8887-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8888-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8889-1 | Linux kernel (OEM) vulnerabilities |
Ubuntu USN |
USN-8887-2 | Linux kernel (AWS) vulnerabilities |
Ubuntu USN |
USN-8888-2 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8887-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8917-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-8918-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-8961-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-9003-1 | Linux kernel (NVIDIA) vulnerabilities |
Ubuntu USN |
USN-9024-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-9025-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-9026-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-9029-1 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-9040-1 | Linux kernel (Low Latency NVIDIA) vulnerabilities |
Ubuntu USN |
USN-9043-1 | Linux kernel (NVIDIA) vulnerabilities |
Ubuntu USN |
USN-9066-1 | Linux kernel (HWE) vulnerabilities |
Ubuntu USN |
USN-9091-1 | Linux kernel (NVIDIA Tegra) vulnerabilities |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.216% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-772 | |
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-404 |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | i2c: imx: fix locked bus on SMBus block-read of 0 (atomic) | |
| First Time appeared |
Linux
Linux linux Kernel |
|
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Linux
Linux linux Kernel |
|
| References |
|
|