diff options
author | Muralidhara M K <muralimk@amd.com> | 2023-01-27 15:16:01 +0000 |
---|---|---|
committer | Borislav Petkov (AMD) <bp@alien8.de> | 2023-03-19 19:07:04 +0100 |
commit | 4c1cdec319b9aadb65737c3eb1f5cb74bd6aa156 (patch) | |
tree | de6af6b062eefc46e5ba85e5750f28f30f84977b /crypto/ecb.c | |
parent | 554eec0b4a29d0dfe59065e2cf1d2568c7b4d5f0 (diff) |
x86/MCE/AMD: Use an u64 for bank_map
Thee maximum number of MCA banks is 64 (MAX_NR_BANKS), see
a0bc32b3cacf ("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: a0bc32b3cacf ("x86/mce: Increase maximum number of banks to 64")
Signed-off-by: Muralidhara M K <muralimk@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230127151601.1068324-1-muralimk@amd.com
Diffstat (limited to 'crypto/ecb.c')
0 files changed, 0 insertions, 0 deletions