CVE Database›Document archive›CVE-2023-53474

CVE-2023-53474

kernel: x86/MCE/AMD: Use an u64 for bank_map

Loading…

Severity

Low

Red Hat Product Security

1.9

CVSS 3.1

Review impact separately from score.

Published · October 1, 2025

Updated · October 17, 2026

Description

In the Linux kernel, the following vulnerability has been resolved:

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. ]

Statement

The patch fixes an out-of-bounds bit shift / incorrect bitmask width in AMD MCE code by changing bank_map (and smca_misc_banks_map) from 32-bit to u64 and using BIT_ULL(), avoiding UBSAN shift-out-of-bounds when bank ≥ 32. This is a robustness/functional fix for systems with up to 64 SMCA banks.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

CVSS / CWE

CVSS 3.1 · 1.9
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L

CWE-190 · Integer Overflow or Wraparound