diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0674-media-bcm2835-unicam-Set-ret-on-error-path-in-unicam.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.15/950-0674-media-bcm2835-unicam-Set-ret-on-error-path-in-unicam.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0674-media-bcm2835-unicam-Set-ret-on-error-path-in-unicam.patch b/target/linux/bcm27xx/patches-5.15/950-0674-media-bcm2835-unicam-Set-ret-on-error-path-in-unicam.patch new file mode 100644 index 0000000000..25c9bac13a --- /dev/null +++ b/target/linux/bcm27xx/patches-5.15/950-0674-media-bcm2835-unicam-Set-ret-on-error-path-in-unicam.patch @@ -0,0 +1,43 @@ +From 0cc1acc72364d72e8cae56ad6eea797bad00e3c5 Mon Sep 17 00:00:00 2001 +From: Nathan Chancellor <nathan@kernel.org> +Date: Mon, 31 Jan 2022 17:23:38 -0700 +Subject: [PATCH] media: bcm2835-unicam: Set ret on error path in + unicam_async_complete() + +Clang warns: + + drivers/media/platform/bcm2835/bcm2835-unicam.c:3109:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + if (!source_pads) { + ^~~~~~~~~~~~ + drivers/media/platform/bcm2835/bcm2835-unicam.c:3152:9: note: uninitialized use occurs here + return ret; + ^~~ + drivers/media/platform/bcm2835/bcm2835-unicam.c:3109:2: note: remove the 'if' if its condition is always false + if (!source_pads) { + ^~~~~~~~~~~~~~~~~~~ + drivers/media/platform/bcm2835/bcm2835-unicam.c:3091:9: note: initialize the variable 'ret' to silence this warning + int ret; + ^ + = 0 + 1 warning generated. + +When the if condition is true, ret will be used uninitialized, which +could result in undesirable behavior. Set ret to -ENODEV on the error +path, which is a standard error code for the ->complete() callback. + +Fixes: d056e86eb35f ("media/bcm2835-unicam: Parse pad numbers correctly") +Signed-off-by: Nathan Chancellor <nathan@kernel.org> +--- + drivers/media/platform/bcm2835/bcm2835-unicam.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c ++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c +@@ -3109,6 +3109,7 @@ static int unicam_async_complete(struct + } + if (!source_pads) { + unicam_err(unicam, "No source pads on sensor.\n"); ++ ret = -ENODEV; + goto unregister; + } + |