Commit a9b9ea0e authored by Muralidhara M K's avatar Muralidhara M K Committed by Greg Kroah-Hartman
Browse files

x86/MCE/AMD: Use an u64 for bank_map



[ Upstream commit 4c1cdec3 ]

Thee maximum number of MCA banks is 64 (MAX_NR_BANKS), see

  a0bc32b3 ("x86/mce: Increase maximum number of banks to 64").

However, the bank_map which contains a bitfield of which banks to
initialize is of type unsigned int and that overflows when those bit
numbers are >= 32, leading to UBSAN complaining correctly:

  UBSAN: shift-out-of-bounds in arch/x86/kernel/cpu/mce/amd.c:1365:38
  shift exponent 32 is too large for 32-bit type 'int'

Change the bank_map to a u64 and use the proper BIT_ULL() macro when
modifying bits in there.

  [ bp: Rewrite commit message. ]

Fixes: a0bc32b3 ("x86/mce: Increase maximum number of banks to 64")
Signed-off-by: default avatarMuralidhara M K <muralimk@amd.com>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230127151601.1068324-1-muralimk@amd.com


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent a8504f9a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment