In the Linux kernel, the following vulnerability has been resolved:
EDAC/skx_common: Fix general protection fault
After loading i10nmedac (which automatically loads skxedaccommon), if unload only i10nmedac, then reload it and perform error injection testing, a general protection fault may occur:
mce: [Hardware Error]: Machine check events logged Oops: general protection fault ... ... Workqueue: events mcegenpoolprocess RIP: 0010:string+0x53/0xe0 ... Call Trace: <TASK> ? dieaddr+0x37/0x90 ? excgeneralprotection+0x1e7/0x3f0 ? asmexcgeneralprotection+0x26/0x30 ? string+0x53/0xe0 vsnprintf+0x23e/0x4c0 snprintf+0x4d/0x70 skxadxldecode+0x16a/0x330 [skxedaccommon] skxmcecheckerror.part.0+0xf8/0x220 [skxedaccommon] skxmcecheckerror+0x17/0x20 [skxedac_common] ...
The issue arose was because the variable 'adxlcomponentcount' (inside skxedaccommon), which counts the ADXL components, was not reset. During the reloading of i10nm_edac, the count was incremented by the actual number of ADXL components again, resulting in a count that was double the real number of ADXL components. This led to an out-of-bounds reference to the ADXL component array, causing the general protection fault above.
Fix this issue by resetting the 'adxlcomponentcount' in adxlput(), which is called during the unloading of {skx,i10nm}edac.
[
{
"id": "CVE-2025-38298-9432ffb4",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@31ef6f7c9aee3be78d63789653e92350f2537f93",
"target": {
"file": "drivers/edac/skx_common.c"
},
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"265971485665347795276883345082646830894",
"136102118255296727618491234986125935820",
"82434326027817682065757359070780335738",
"333611290220658520540061751093898217026"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-38298-a31aecc4",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@31ef6f7c9aee3be78d63789653e92350f2537f93",
"target": {
"file": "drivers/edac/skx_common.c",
"function": "skx_adxl_put"
},
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 79.0,
"function_hash": "79254990702013150114185722356295912961"
}
}
]