Skip to content

Commit ffe3dc5

Browse files
jwrdegoedemchehab
authored andcommitted
media: atomisp: Fix eed1_8 code assigning signed values to an unsigned variable
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]>
1 parent b36c41c commit ffe3dc5

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
#include "vmem_global.h"
2121

2222
typedef u16 t_vmem_elem;
23+
typedef s16 t_svmem_elem;
2324

24-
#define VMEM_ARRAY(x, s) t_vmem_elem x[s / ISP_NWAY][ISP_NWAY]
25+
#define VMEM_ARRAY(x, s) t_vmem_elem x[(s) / ISP_NWAY][ISP_NWAY]
26+
#define SVMEM_ARRAY(x, s) t_svmem_elem x[(s) / ISP_NWAY][ISP_NWAY]
2527

2628
void isp_vmem_load(
2729
const isp_ID_t ID,

drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@
9494

9595
struct eed1_8_vmem_params {
9696
VMEM_ARRAY(e_dew_enh_x, ISP_VEC_NELEMS);
97-
VMEM_ARRAY(e_dew_enh_y, ISP_VEC_NELEMS);
98-
VMEM_ARRAY(e_dew_enh_a, ISP_VEC_NELEMS);
97+
SVMEM_ARRAY(e_dew_enh_y, ISP_VEC_NELEMS);
98+
SVMEM_ARRAY(e_dew_enh_a, ISP_VEC_NELEMS);
9999
VMEM_ARRAY(e_dew_enh_f, ISP_VEC_NELEMS);
100100
VMEM_ARRAY(chgrinv_x, ISP_VEC_NELEMS);
101101
VMEM_ARRAY(chgrinv_a, ISP_VEC_NELEMS);

0 commit comments

Comments
 (0)