CVE-2026-74463
Received Received - Intake

Deadlock in Linux Kernel I2C JZ4780 Driver

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

Publication date: 2026-08-15

Last updated on: 2026-08-15

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: i2c: jz4780: Cache host clock rate at probe to prevent CCF prepare_lock deadlock Fix a severe AB/BA deadlock between the Common Clock Framework (CCF) and the I2C adapter lock, which triggers when an I2C-controlled clock generator client (like the Si5351) is registered or modified under the CCF. During an i2c client clock (generator) frequency change, the CCF acquires its global 'prepare_lock' mutex and the driver calls i2c_transfer() to update the client's chip registers, stalling for the adapter's I2C bus lock. Concurrently, an independent, parallel transfer on the same bus (e.g., a GPIO expander handling LEDs) can hold the I2C adapter lock. Inside this parallel transfer path, jz4780_i2c_set_speed() calls clk_get_rate() on the host controller's input clock to calculate bus timings. This call attempts to acquire the blocked CCF 'prepare_lock', creating a circular dependency that freezes the system. The jz4780 host controller clock itself is static and never changes at runtime. However, calling clk_get_rate() inside the active transfer path introduces an unnecessary dependency on the CCF internal locks. Eliminate this synchronous clk_get_rate() call from the active transfer path by caching the static host peripheral clock rate once - inside the private jz4780_i2c structure during jz4780_i2c_probe(). Update jz4780_i2c_set_speed() to use this cached value, safely decoupling active I2C transactions from the CCF internal locks without any risk of stale timings. Assisted-by web based Google AI (pinpointing the bug and writing the message).

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-15
Last Modified
2026-08-15
Generated
2026-08-15
AI Q&A
2026-08-15
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 is a deadlock in the Linux kernel's I2C subsystem affecting the jz4780 driver. It occurs when the Common Clock Framework (CCF) and I2C adapter lock interact incorrectly during clock frequency changes. Specifically, a parallel I2C transfer can hold the adapter lock while trying to access the CCF's prepare_lock, freezing the system.

Detection Guidance

This vulnerability is specific to the Linux kernel's i2c jz4780 driver and does not have network-based detection methods. It manifests as a system freeze due to a deadlock between the Common Clock Framework and I2C adapter locks. Check kernel logs for i2c-related errors or system hangs during I2C operations, particularly with Si5351 clock generators or GPIO expanders.

Impact Analysis

This vulnerability can cause system freezes or hangs when certain I2C devices (like clock generators) are accessed or modified. It may lead to unresponsive systems, requiring a hard reboot to recover.

Mitigation Strategies

Update to a patched Linux kernel version that includes the fix for this vulnerability. The patch caches the host clock rate at probe time to prevent the deadlock. If updating is not immediately possible, avoid using Si5351 clock generators or GPIO expanders on the affected I2C bus until the patch is applied.

Chat Assistant

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

EPSS Chart