]> Git Repo - J-linux.git/commitdiff
media: atomisp: Fix eed1_8 code assigning signed values to an unsigned variable
authorHans de Goede <[email protected]>
Sat, 7 Sep 2024 11:17:01 +0000 (13:17 +0200)
committerMauro Carvalho Chehab <[email protected]>
Tue, 10 Sep 2024 05:29:44 +0000 (07:29 +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/[email protected]
Reported-by: Mauro Carvalho Chehab <[email protected]>
Closes: https://lore.kernel.org/linux-media/[email protected]/
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h
drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h

index d0ba59cedc921f856e02b452fc2732557c39f1f1..6f0a8fe868bd79185d4063d734e496d326819511 100644 (file)
 #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,
index 6fb3b38f49e762da6a6a1d423b5049fb7931bc60..b9eeeb592ec818134d7c926b2ec1cbc87990461c 100644 (file)
@@ -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);
This page took 0.05497 seconds and 4 git commands to generate.