* [PATCH] staging: media: atomisp: prefer kcalloc over kzalloc with multiply
@ 2026-06-06 23:44 Andrew Soto
2026-06-06 23:57 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Andrew Soto @ 2026-06-06 23:44 UTC (permalink / raw)
To: hansg, mchehab, gregkh
Cc: andy, sakari.ailus, linux-media, linux-staging, linux-kernel,
Andrew Soto
Optimize memory allocation layout in sh_css_params.c by replacing the raw multiplication inside kzalloc() with a type-safe kcalloc() array allocation wrapper.
This prevents potential integer overflow vulnerabilities by validating the array size calculations before interacting with the kernel heap allocator, aligning the driver with modern kernel memory allocation standards.
Signed-off-by: Andrew Soto <linux@notrealandy.dev>
---
drivers/staging/media/atomisp/pci/sh_css_params.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/media/atomisp/pci/sh_css_params.c b/drivers/staging/media/atomisp/pci/sh_css_params.c
index fcebace11..9147ca047 100644
--- a/drivers/staging/media/atomisp/pci/sh_css_params.c
+++ b/drivers/staging/media/atomisp/pci/sh_css_params.c
@@ -3716,7 +3716,7 @@ ia_css_ptr sh_css_store_sp_group_to_ddr(void)
IA_CSS_ENTER_LEAVE_PRIVATE("void");
- write_buf = kzalloc(sizeof(u8) * 8192, GFP_KERNEL);
+ write_buf = kcalloc(8192, sizeof(u8), GFP_KERNEL);
if (!write_buf)
return 0;
--
2.53.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] staging: media: atomisp: prefer kcalloc over kzalloc with multiply
2026-06-06 23:44 [PATCH] staging: media: atomisp: prefer kcalloc over kzalloc with multiply Andrew Soto
@ 2026-06-06 23:57 ` sashiko-bot
2026-06-07 7:42 ` Andy Shevchenko
2026-06-07 12:18 ` [PATCH v2] " Andrew Soto
2 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-06-06 23:57 UTC (permalink / raw)
To: Andrew Soto; +Cc: linux-media
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Ignored memory allocation failure leads to null-equivalent pointer passed to SP firmware.
--
commit 967be0a2dfa51f2c0edc88c4aa3976bc41aab85d
Author: Andrew Soto <linux@notrealandy.dev>
staging: media: atomisp: prefer kcalloc over kzalloc with multiply
This commit replaces a raw multiplication inside kzalloc() with a kcalloc()
array allocation in sh_css_params.c. This validates the array size
calculations to prevent potential integer overflow vulnerabilities before
interacting with the kernel heap allocator.
> diff --git a/drivers/staging/media/atomisp/pci/sh_css_params.c b/drivers/staging/media/atomisp/pci/sh_css_params.c
> index fcebace11daf6..9147ca0474ad2 100644
> --- a/drivers/staging/media/atomisp/pci/sh_css_params.c
> +++ b/drivers/staging/media/atomisp/pci/sh_css_params.c
> @@ -3716,7 +3716,7 @@ ia_css_ptr sh_css_store_sp_group_to_ddr(void)
>
> IA_CSS_ENTER_LEAVE_PRIVATE("void");
>
> - write_buf = kzalloc(sizeof(u8) * 8192, GFP_KERNEL);
> + write_buf = kcalloc(8192, sizeof(u8), GFP_KERNEL);
> if (!write_buf)
> return 0;
[Severity: High]
This isn't a bug introduced by this patch, but is it possible that this early
return causes the firmware to crash under memory pressure?
If kcalloc() fails, sh_css_store_sp_group_to_ddr() returns 0, which acts as
a null-equivalent for an ia_css_ptr.
Looking at the caller in drivers/staging/media/atomisp/pci/sh_css_sp.c:
store_sp_group_data() {
...
per_frame_data.sp_group_addr = sh_css_store_sp_group_to_ddr();
...
}
The return value is unconditionally assigned to per_frame_data.sp_group_addr
without any validation. When this 0 is sent directly to the per-frame
hardware configuration, will the SP firmware crash or lock up the hardware
when attempting to access address 0 for its group configuration?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260606234427.9902-1-linux@notrealandy.dev?part=1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] staging: media: atomisp: prefer kcalloc over kzalloc with multiply
2026-06-06 23:44 [PATCH] staging: media: atomisp: prefer kcalloc over kzalloc with multiply Andrew Soto
2026-06-06 23:57 ` sashiko-bot
@ 2026-06-07 7:42 ` Andy Shevchenko
2026-06-07 12:18 ` [PATCH v2] " Andrew Soto
2 siblings, 0 replies; 4+ messages in thread
From: Andy Shevchenko @ 2026-06-07 7:42 UTC (permalink / raw)
To: Andrew Soto
Cc: hansg, mchehab, gregkh, andy, sakari.ailus, linux-media,
linux-staging, linux-kernel
On Sun, Jun 7, 2026 at 2:45 AM Andrew Soto <linux@notrealandy.dev> wrote:
>
> Optimize memory allocation layout in sh_css_params.c by replacing the raw multiplication inside kzalloc() with a type-safe kcalloc() array allocation wrapper.
>
> This prevents potential integer overflow vulnerabilities by validating the array size calculations before interacting with the kernel heap allocator, aligning the driver with modern kernel memory allocation standards.
Wrap the commit message around 72 characters per line.
...
Is this the only case like this in the entire driver?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] staging: media: atomisp: prefer kcalloc over kzalloc with multiply
2026-06-06 23:44 [PATCH] staging: media: atomisp: prefer kcalloc over kzalloc with multiply Andrew Soto
2026-06-06 23:57 ` sashiko-bot
2026-06-07 7:42 ` Andy Shevchenko
@ 2026-06-07 12:18 ` Andrew Soto
2 siblings, 0 replies; 4+ messages in thread
From: Andrew Soto @ 2026-06-07 12:18 UTC (permalink / raw)
To: linux
Cc: andy, gregkh, hansg, linux-kernel, linux-media, linux-staging,
mchehab, sakari.ailus
Optimize memory allocation layout in sh_css_params.c by replacing
the raw multiplication inside kzalloc() with a type-safe kcalloc()
array allocation wrapper.
This prevents potential integer overflow vulnerabilities by validating
the array size calculations before interacting
with the kernel heap allocator, aligning the driver with modern kernel
memory allocation standards.
Signed-off-by: Andrew Soto <linux@notrealandy.dev>
---
drivers/staging/media/atomisp/pci/sh_css_params.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/media/atomisp/pci/sh_css_params.c b/drivers/staging/media/atomisp/pci/sh_css_params.c
index fcebace11..9147ca047 100644
--- a/drivers/staging/media/atomisp/pci/sh_css_params.c
+++ b/drivers/staging/media/atomisp/pci/sh_css_params.c
@@ -3716,7 +3716,7 @@ ia_css_ptr sh_css_store_sp_group_to_ddr(void)
IA_CSS_ENTER_LEAVE_PRIVATE("void");
- write_buf = kzalloc(sizeof(u8) * 8192, GFP_KERNEL);
+ write_buf = kcalloc(8192, sizeof(u8), GFP_KERNEL);
if (!write_buf)
return 0;
--
2.53.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-07 12:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-06 23:44 [PATCH] staging: media: atomisp: prefer kcalloc over kzalloc with multiply Andrew Soto
2026-06-06 23:57 ` sashiko-bot
2026-06-07 7:42 ` Andy Shevchenko
2026-06-07 12:18 ` [PATCH v2] " Andrew Soto
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox