ACK: [SRU][F/J][PATCH 0/3] CVE-2024-40965

Yuxuan Luo yuxuan.luo at canonical.com
Wed Nov 20 20:05:02 UTC 2024


On Wed, Nov 20, 2024 at 07:09:23PM +0100, Massimiliano Pellizzer wrote:
Acked-by: Yuxuan Luo <yuxuan.luo at canonical.com>
> [Impact]
> 
> 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.
> 
> [Fix]
> 
> Oracular: Not affected
> Noble:    Fixed
> Jammy: 
> - Cherry picked b0cde62e4c548 which is a prereq of the fix commit
> - Cherry picked 7f1dd39aedfcc which is a follow-up of b0cde62e4c548
> - Backported the fix commit
> 
> Focal:    Applied jammy patches
> Bionic:   Work in progress
> Xenial:   Not affected
> 
> [Test Case]
> 
> Compile tested only.
> 
> [Where problems could occur]
> 
> The fix affects the I2C subsystem, in particular the i2c-imx-lpi2c
> driver. An issue with this fix may lead to kernel crashes during I2C
> transfers or when initializing I2C devices. Additionally, users may
> observe system instability or hangs when accessing devices connected
> via the I2C bus.
> 
> Alexander Stein (1):
>   i2c: lpi2c: Avoid calling clk_get_rate during transfer
> 
> Uwe Kleine-König (2):
>   clk: Add a devm variant of clk_rate_exclusive_get()
>   clk: Provide !COMMON_CLK dummy for devm_clk_rate_exclusive_get()
> 
>  drivers/clk/clk.c                  | 19 +++++++++++++++++++
>  drivers/i2c/busses/i2c-imx-lpi2c.c | 18 +++++++++++++++++-
>  include/linux/clk.h                | 17 +++++++++++++++++
>  3 files changed, 53 insertions(+), 1 deletion(-)
> 
> -- 
> 2.43.0
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team



More information about the kernel-team mailing list