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

i2c: davinci: fix division by zero on missing clock-frequency

When the 'clock-frequency' property is missing from the device tree,
the driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ. However, this
macro was defined in kHz (100), whereas the device tree property is
expected in Hz.

The probe function divided the fallback value by 1000, causing
integer truncation that resulted in dev->bus_freq = 0. This triggered
a deterministic division-by-zero kernel panic when calculating clock
dividers later in the probe sequence.

Fix this by redefining DAVINCI_I2C_DEFAULT_BUS_FREQ in Hz (100000)
to match the expected device tree property unit, allowing the existing
division logic to work correctly for both cases.
Published: 2026-07-24
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from an incorrect unit conversion in the Davinci I2C driver. When a device tree omits the expected "clock-frequency" property, the driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ, defined as 100 kHz. The code divides this value by 1,000 to convert to hertz, truncating the result to zero. Subsequent calculations that divide by the bus frequency then trigger a deterministic division‑by‑zero, causing a kernel panic. The weakness is a divide‑by‑zero error (CWE‑369) leading to a denial of service that can crash the entire system.

Affected Systems

The flaw exists in the Linux kernel, specifically the Davinci I2C driver. The affected vendor is Linux, and the product is the Linux kernel. No specific kernel version range is listed, so any kernel containing the unpatched davinci driver before the correction of the macro conversion is susceptible.

Risk and Exploitability

The CVSS score is 5.5, indicating medium severity. The EPSS score is less than 1 percent, indicating a low probability of exploitation in the wild, and the vulnerability is not listed in CISA’s KEV catalog. Exploitation requires the driver to load on hardware using the Davinci I2C controller and to present a device tree lacking the clock‑frequency entry; this is a local privilege scenario rather than remote. Because the failure is deterministic, a suitably privileged attacker can reliably trigger a kernel panic, but the limited attack surface and low exploitation probability keep the overall risk moderate.

Generated by OpenCVE AI on August 13, 2026 at 11:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a version that contains the commit redefining DAVINCI_I2C_DEFAULT_BUS_FREQ to 100 000 Hz
  • If a custom kernel cannot be updated, modify the macro definition in the appropriate header so that it uses 100 000 Hz instead of 100
  • Ensure that all device tree bindings for I2C devices provide a valid "clock-frequency" property to avoid the fallback path

Generated by OpenCVE AI on August 13, 2026 at 11:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Wed, 12 Aug 2026 19:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
Metrics 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'}


Wed, 29 Jul 2026 00:15:00 +0000


Sun, 26 Jul 2026 03:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-369

Fri, 24 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: i2c: davinci: fix division by zero on missing clock-frequency When the 'clock-frequency' property is missing from the device tree, the driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ. However, this macro was defined in kHz (100), whereas the device tree property is expected in Hz. The probe function divided the fallback value by 1000, causing integer truncation that resulted in dev->bus_freq = 0. This triggered a deterministic division-by-zero kernel panic when calculating clock dividers later in the probe sequence. Fix this by redefining DAVINCI_I2C_DEFAULT_BUS_FREQ in Hz (100000) to match the expected device tree property unit, allowing the existing division logic to work correctly for both cases.
Title i2c: davinci: fix division by zero on missing clock-frequency
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-07-24T15:27:41.371Z

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

Link: CVE-2026-64236

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-07-24T16:16:52.860

Modified: 2026-08-12T19:08:42.827

Link: CVE-2026-64236

cve-icon Redhat

Severity :

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

Links: CVE-2026-64236 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T11:15:05Z

Weaknesses