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. ]
Product status
a0bc32b3cacf194dc479b342f006203fd1e1941a before a9b9ea0e63a0ec5e97bf1219ab6dcbd55e362f83
a0bc32b3cacf194dc479b342f006203fd1e1941a before 11c58a0c1937c157dbdf82d5ab634d68c99f3098
a0bc32b3cacf194dc479b342f006203fd1e1941a before ba8ffb1251eb629c2ec35220e3896cf4f7b888a7
a0bc32b3cacf194dc479b342f006203fd1e1941a before 9669fa17287c3af2bbd4868d4c8fdd9e57f8332e
a0bc32b3cacf194dc479b342f006203fd1e1941a before 67bb7521b6420d81dab7538c0686f18f7d6d09f4
a0bc32b3cacf194dc479b342f006203fd1e1941a before 4c1cdec319b9aadb65737c3eb1f5cb74bd6aa156
5.10
Any version before 5.10
5.10.180
5.15.111
6.1.28
6.2.15
6.3.2
6.4
References
git.kernel.org/...c/a9b9ea0e63a0ec5e97bf1219ab6dcbd55e362f83
git.kernel.org/...c/11c58a0c1937c157dbdf82d5ab634d68c99f3098
git.kernel.org/...c/ba8ffb1251eb629c2ec35220e3896cf4f7b888a7
git.kernel.org/...c/9669fa17287c3af2bbd4868d4c8fdd9e57f8332e
git.kernel.org/...c/67bb7521b6420d81dab7538c0686f18f7d6d09f4
git.kernel.org/...c/4c1cdec319b9aadb65737c3eb1f5cb74bd6aa156