Description
In the Linux kernel, the following vulnerability has been resolved: EDAC/i10nm: Skip DIMM enumeration on a disabled memory controller When loading the i10nm_edac driver on some Intel Granite Rapids servers, a call trace may appear as follows: UBSAN: shift-out-of-bounds in drivers/edac/skx_common.c:453:16 shift exponent -66 is negative ... __ubsan_handle_shift_out_of_bounds+0x1e3/0x390 skx_get_dimm_info.cold+0x47/0xd40 [skx_edac_common] i10nm_get_dimm_config+0x23e/0x390 [i10nm_edac] skx_register_mci+0x159/0x220 [skx_edac_common] i10nm_init+0xcb0/0x1ff0 [i10nm_edac] ... This occurs because some BIOS may disable a memory controller if there aren't any memory DIMMs populated on this memory controller. The DIMMMTR register of this disabled memory controller contains the invalid value ~0, resulting in the call trace above. Fix this call trace by skipping DIMM enumeration on a disabled memory controller.
Product status
ba987eaaabf99b462cdfed86274e3455d5126349 (git) before 8100b6c0f9089d5b156642b81270ce27fff17490
ba987eaaabf99b462cdfed86274e3455d5126349 (git) before 1652f14cf3bef5a4baa232de954fc22bdcaa78fe
ba987eaaabf99b462cdfed86274e3455d5126349 (git) before c20da24272f1ac79e9f9083bba577d049cd02bbb
ba987eaaabf99b462cdfed86274e3455d5126349 (git) before 2e6fe1bbefd9c059c3787d1c620fe67343a94dff
6.3
Any version before 6.3
6.6.112 (semver)
6.12.53 (semver)
6.17.3 (semver)
6.18 (original_commit_for_fix)
References
git.kernel.org/...c/8100b6c0f9089d5b156642b81270ce27fff17490
git.kernel.org/...c/1652f14cf3bef5a4baa232de954fc22bdcaa78fe
git.kernel.org/...c/c20da24272f1ac79e9f9083bba577d049cd02bbb
git.kernel.org/...c/2e6fe1bbefd9c059c3787d1c620fe67343a94dff