Bug 2297549 (CVE-2024-40965) - CVE-2024-40965 kernel: i2c: lpi2c: Avoid calling clk_get_rate during transfer
Summary: CVE-2024-40965 kernel: i2c: lpi2c: Avoid calling clk_get_rate during transfer
Keywords:
Status: NEW
Alias: CVE-2024-40965
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-12 13:42 UTC by OSIDB Bzimport
Modified: 2024-09-23 15:45 UTC (History)
4 users (show)

Fixed In Version: kernel 6.9.7, kernel 6.10-rc1
Doc Type: If docs needed, set a value
Doc Text:
A vulnerability was found in the lpi2c driver in the Linux kernel's i2c subsystem, where the clk_get_rate function is called during data transfers, which can lead to a deadlock situation when an audio codec attempts to access the i2c bus while holding the clock mutex, resulting in a denial of service.
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-07-12 13:42:06 UTC
In the Linux kernel, the following vulnerability has been resolved:

i2c: lpi2c: Avoid calling clk_get_rate during transfer

Instead of repeatedly calling clk_get_rate for each transfer, lock
the clock rate and cache the value.
A deadlock has been observed while adding tlv320aic32x4 audio codec to
the system. When this clock provider adds its clock, the clk mutex is
locked already, it needs to access i2c, which in return needs the mutex
for clk_get_rate as well.


Note You need to log in before you can comment on or make changes to this bug.