immortalwrt/target/linux/bcm27xx/patches-6.6/950-1542-media-i2c-arducam-pivariety-Fix-mutex-init-and-NULL-.patch
Álvaro Fernández Rojas 5872633b9d bcm27xx: pull 6.6 patches from RPi repo
Adds latest 6.6 patches from the Raspberry Pi repository.

These patches were generated from:
https://github.com/raspberrypi/linux/commits/rpi-6.6.y/
With the following command:
git format-patch -N v6.6.83..HEAD
(HEAD -> 08d4e8f52256bd422d8a1f876411603f627d0a82)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 251f76c1c67d62c585d799c38dab31e1385d2ad5)
2025-03-16 21:08:29 +01:00

38 lines
1.1 KiB
Diff

From 011cbf22d7583687ae18690185169e5da0be000a Mon Sep 17 00:00:00 2001
From: Yuriy Pasichnyk <yurijpasichnyk11@gmail.com>
Date: Tue, 18 Feb 2025 16:20:31 +0200
Subject: [PATCH] media: i2c: arducam-pivariety: Fix mutex init and NULL
pointer
The mutex used in arducam-pivariety was not properly initialized,
which could lead to undefined behavior. This also caused a NULL
pointer dereference under certain conditions.
This patch ensures the mutex is correctly initialized during probe
and prevents NULL pointer dereferences.
Signed-off-by: Yuriy Pasichnyk <yurijpasichnyk11@gmail.com>
---
drivers/media/i2c/arducam-pivariety.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/media/i2c/arducam-pivariety.c
+++ b/drivers/media/i2c/arducam-pivariety.c
@@ -1208,6 +1208,8 @@ static int pivariety_enum_controls(struc
if (ret)
return ret;
+ mutex_init(&pivariety->mutex);
+
index = 0;
while (1) {
ret = pivariety_write(pivariety, CTRL_INDEX_REG, index);
@@ -1295,6 +1297,7 @@ static int pivariety_enum_controls(struc
v4l2_ctrl_handler_setup(ctrl_hdlr);
return 0;
err:
+ mutex_destroy(&pivariety->mutex);
return -ENODEV;
}