From bf374e542fef9dbc64f8c7227b4c84836f4fd416 Mon Sep 17 00:00:00 2001 From: Wei-Chia Su Date: Tue, 6 May 2025 11:40:00 +0100 Subject: [PATCH] mod/cmn_cyprus: Prevent overflow with 64-bit shifts in bitmask functions Updated bitmask calculation functions to use UINT64_C(0x1) for shifts, ensuring 64-bit integer operations and preventing overflow issues when shifting large values. Signed-off-by: Wei-Chia Su --- module/cmn_cyprus/src/cmn_cyprus_rnsam_reg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/cmn_cyprus/src/cmn_cyprus_rnsam_reg.c b/module/cmn_cyprus/src/cmn_cyprus_rnsam_reg.c index c60e9f07e..d9dc30b20 100644 --- a/module/cmn_cyprus/src/cmn_cyprus_rnsam_reg.c +++ b/module/cmn_cyprus/src/cmn_cyprus_rnsam_reg.c @@ -219,7 +219,7 @@ static uint64_t get_rnsam_non_hash_lsb_addr_mask( lsb_bit_pos = get_rnsam_non_hash_rcomp_lsb_bit_pos(rnsam); - return ((1 << lsb_bit_pos) - 1); + return (UINT64_C(0x1) << lsb_bit_pos) - 1; } static uint8_t get_rnsam_htg_rcomp_lsb_bit_pos( @@ -557,7 +557,7 @@ uint64_t rnsam_get_htg_lsb_addr_mask(struct cmn_cyprus_rnsam_reg *rnsam) lsb_bit_pos = get_rnsam_htg_rcomp_lsb_bit_pos(rnsam); - return (1 << lsb_bit_pos) - 1; + return (UINT64_C(0x1) << lsb_bit_pos) - 1; } void rnsam_stall(struct cmn_cyprus_rnsam_reg *rnsam) -- GitLab