This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: atomisp: Fix eed1_8 code assigning signed values to an unsigned 
variable
Author:  Hans de Goede <hdego...@redhat.com>
Date:    Sat Sep 7 13:17:01 2024 +0200

ia_css_eed1_8_vmem_encode() is assigning values with a range of -8192 -
8191 to e_dew_enh_y and e_dew_enh_a both of which are of the VMEM_ARRAY
type which maps to u16.

This causes the following smatch warnings:

drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c: 
drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c:177 
ia_css_eed1_8_vmem_encode() warn: assigning (-8192) to unsigned variable 
'to->e_dew_enh_y[0][base + j]'
drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c: 
drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c:182 
ia_css_eed1_8_vmem_encode() warn: assigning (-8192) to unsigned variable 
'to->e_dew_enh_a[0][base + j]'

Convert the e_dew_enh_y and e_dew_enh_a arrays to a new SVMEM_ARRAY type
which maps to s16 to fix this.

Link: 
https://lore.kernel.org/linux-media/20240907111701.8493-1-hdego...@redhat.com
Reported-by: Mauro Carvalho Chehab <mche...@kernel.org>
Closes: https://lore.kernel.org/linux-media/20240906081542.5cb0c...@foz.lan/
Signed-off-by: Hans de Goede <hdego...@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

 .../staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h   | 4 +++-
 .../media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h        | 4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

---

diff --git 
a/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h 
b/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h
index d0ba59cedc92..6f0a8fe868bd 100644
--- a/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h
+++ b/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h
@@ -20,8 +20,10 @@
 #include "vmem_global.h"
 
 typedef u16 t_vmem_elem;
+typedef s16 t_svmem_elem;
 
-#define VMEM_ARRAY(x, s)    t_vmem_elem x[s / ISP_NWAY][ISP_NWAY]
+#define VMEM_ARRAY(x, s)       t_vmem_elem x[(s) / ISP_NWAY][ISP_NWAY]
+#define SVMEM_ARRAY(x, s)      t_svmem_elem x[(s) / ISP_NWAY][ISP_NWAY]
 
 void isp_vmem_load(
     const isp_ID_t             ID,
diff --git 
a/drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h 
b/drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h
index 6fb3b38f49e7..b9eeeb592ec8 100644
--- a/drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h
+++ b/drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h
@@ -94,8 +94,8 @@
 
 struct eed1_8_vmem_params {
        VMEM_ARRAY(e_dew_enh_x, ISP_VEC_NELEMS);
-       VMEM_ARRAY(e_dew_enh_y, ISP_VEC_NELEMS);
-       VMEM_ARRAY(e_dew_enh_a, ISP_VEC_NELEMS);
+       SVMEM_ARRAY(e_dew_enh_y, ISP_VEC_NELEMS);
+       SVMEM_ARRAY(e_dew_enh_a, ISP_VEC_NELEMS);
        VMEM_ARRAY(e_dew_enh_f, ISP_VEC_NELEMS);
        VMEM_ARRAY(chgrinv_x, ISP_VEC_NELEMS);
        VMEM_ARRAY(chgrinv_a, ISP_VEC_NELEMS);

Reply via email to