mlxsw: spectrum_trap: fix unintention integer overflow on left shift
Shifting the integer value 1 is evaluated using 32-bit arithmetic and then used in an expression that expects a 64-bit value, so there is potentially an integer overflow. Fix this by using the BIT_ULL macro to perform the shift and avoid the overflow. Addresses-Coverity: ("Unintentional integer overflow") Fixes: 13f2e64b94ea ("mlxsw: spectrum_trap: Add devlink-trap policer support") Signed-off-by: Colin Ian King <colin.king@canonical.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Tested-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
2f5107c34d
commit
468c2a1002
@ -643,7 +643,7 @@ static int mlxsw_sp_trap_policer_bs(u64 burst, u8 *p_burst_size,
|
||||
{
|
||||
int bs = fls64(burst) - 1;
|
||||
|
||||
if (burst != (1 << bs)) {
|
||||
if (burst != (BIT_ULL(bs))) {
|
||||
NL_SET_ERR_MSG_MOD(extack, "Policer burst size is not power of two");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Reference in New Issue
Block a user