Skip to content

Commit d02b4dd

Browse files
suryasaimadhuwilldeacon
authored andcommitted
perf/imx_ddr: Fix undefined behavior due to shift overflowing the constant
Fix: In file included from <command-line>:0:0: In function ‘ddr_perf_counter_enable’, inlined from ‘ddr_perf_irq_handler’ at drivers/perf/fsl_imx8_ddr_perf.c:651:2: ././include/linux/compiler_types.h:352:38: error: call to ‘__compiletime_assert_729’ \ declared with attribute error: FIELD_PREP: mask is not constant _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ... See https://lore.kernel.org/r/YkwQ6%2BtIH8GQpuct@zn.tnic for the gory details as to why it triggers with older gccs only. Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Frank Li <Frank.li@nxp.com> Cc: Will Deacon <will@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Shawn Guo <shawnguo@kernel.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Pengutronix Kernel Team <kernel@pengutronix.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: NXP Linux Team <linux-imx@nxp.com> Cc: linux-arm-kernel@lists.infradead.org Acked-by: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20220405151517.29753-10-bp@alien8.de Signed-off-by: Will Deacon <will@kernel.org>
1 parent 83bea32 commit d02b4dd

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/perf/fsl_imx8_ddr_perf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#define CNTL_OVER_MASK 0xFFFFFFFE
3030

3131
#define CNTL_CSV_SHIFT 24
32-
#define CNTL_CSV_MASK (0xFF << CNTL_CSV_SHIFT)
32+
#define CNTL_CSV_MASK (0xFFU << CNTL_CSV_SHIFT)
3333

3434
#define EVENT_CYCLES_ID 0
3535
#define EVENT_CYCLES_COUNTER 0

0 commit comments

Comments
 (0)