In the Linux kernel, the following vulnerability has been resolved:
x86/cpu/hygon: Add missing resctrlcpudetect() in bsp_init helper
Since
923f3a2b48bd ("x86/resctrl: Query LLC monitoring properties once during boot")
resctrlcpudetect() has been moved from common CPU initialization code to the vendor-specific BSP init helper, while Hygon didn't put that call in their code.
This triggers a division by zero fault during early booting stage on our machines with X86FEATURECQM* supported, where getrdtmonresources() tries to calculate monl3config with uninitialized bootcpudata.x86cacheoccscale.
Add the missing resctrlcpudetect() in the Hygon BSP init helper.
[ bp: Massage commit message. ]
[
{
"id": "CVE-2025-39681-47f377d7",
"target": {
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb81222c1559f89bfe3aa1010f6d112531d55353",
"deprecated": false,
"digest": {
"line_hashes": [
"190197464253091785022520571501508988582",
"84959301595239158657852251380131774547",
"284838077089973945510567517010175166234",
"98702805014492460859539680620393537876",
"66999416748747790907381724323846150233",
"321509615843101745894165531414225275344",
"298332827770760559750674853021278924790",
"339358893503217103782614535425119468025"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-39681-74839413",
"target": {
"function": "bsp_init_hygon",
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7207923d8453ebfb35667c1736169f2dd796772e",
"deprecated": false,
"digest": {
"length": 902.0,
"function_hash": "246352014699567243683229515090916093451"
}
},
{
"id": "CVE-2025-39681-7b27ea7c",
"target": {
"function": "bsp_init_hygon",
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d8df126349dad855cdfedd6bbf315bad2e901c2f",
"deprecated": false,
"digest": {
"length": 570.0,
"function_hash": "1412998935451975149053159500828331543"
}
},
{
"id": "CVE-2025-39681-7cc8a2e0",
"target": {
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@62f12cde10118253348a7540e85606869bd69432",
"deprecated": false,
"digest": {
"line_hashes": [
"14175105360560010118387779308537659375",
"111169900871958013525513745998973500911",
"300718770995999791229515749409647986416",
"191565820259092623123281340123434924926",
"66999416748747790907381724323846150233",
"321509615843101745894165531414225275344",
"298332827770760559750674853021278924790",
"339358893503217103782614535425119468025"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-39681-824d9d56",
"target": {
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7207923d8453ebfb35667c1736169f2dd796772e",
"deprecated": false,
"digest": {
"line_hashes": [
"190197464253091785022520571501508988582",
"84959301595239158657852251380131774547",
"284838077089973945510567517010175166234",
"98702805014492460859539680620393537876",
"66999416748747790907381724323846150233",
"321509615843101745894165531414225275344",
"298332827770760559750674853021278924790",
"339358893503217103782614535425119468025"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-39681-8bb6db3e",
"target": {
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a9e5924daa954c9f585c1ca00358afe71d6781c4",
"deprecated": false,
"digest": {
"line_hashes": [
"190197464253091785022520571501508988582",
"84959301595239158657852251380131774547",
"206936296575476633395382520325083897115",
"212543976455460360090635878795760247159",
"66999416748747790907381724323846150233",
"321509615843101745894165531414225275344",
"298332827770760559750674853021278924790",
"339358893503217103782614535425119468025"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-39681-915b68af",
"target": {
"function": "bsp_init_hygon",
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@873f32201df8876bdb2563e3187e79149427cab4",
"deprecated": false,
"digest": {
"length": 902.0,
"function_hash": "246352014699567243683229515090916093451"
}
},
{
"id": "CVE-2025-39681-96b7df8f",
"target": {
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d23264c257a70dbe021b43b3bc2ee16134cd2c69",
"deprecated": false,
"digest": {
"line_hashes": [
"234845863486058433098591338643035853770",
"194884154632462388408605599583827168644",
"42269861281104079668027900809457401281",
"218085627291277710055845910453558489723",
"66999416748747790907381724323846150233",
"321509615843101745894165531414225275344",
"298332827770760559750674853021278924790",
"339358893503217103782614535425119468025"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-39681-97b818fa",
"target": {
"function": "bsp_init_hygon",
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d23264c257a70dbe021b43b3bc2ee16134cd2c69",
"deprecated": false,
"digest": {
"length": 570.0,
"function_hash": "1412998935451975149053159500828331543"
}
},
{
"id": "CVE-2025-39681-9cf5f7a0",
"target": {
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@873f32201df8876bdb2563e3187e79149427cab4",
"deprecated": false,
"digest": {
"line_hashes": [
"190197464253091785022520571501508988582",
"84959301595239158657852251380131774547",
"284838077089973945510567517010175166234",
"98702805014492460859539680620393537876",
"66999416748747790907381724323846150233",
"321509615843101745894165531414225275344",
"298332827770760559750674853021278924790",
"339358893503217103782614535425119468025"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-39681-ac7ba81b",
"target": {
"function": "bsp_init_hygon",
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb81222c1559f89bfe3aa1010f6d112531d55353",
"deprecated": false,
"digest": {
"length": 902.0,
"function_hash": "246352014699567243683229515090916093451"
}
},
{
"id": "CVE-2025-39681-ad52408a",
"target": {
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d8df126349dad855cdfedd6bbf315bad2e901c2f",
"deprecated": false,
"digest": {
"line_hashes": [
"234845863486058433098591338643035853770",
"194884154632462388408605599583827168644",
"42269861281104079668027900809457401281",
"218085627291277710055845910453558489723",
"66999416748747790907381724323846150233",
"321509615843101745894165531414225275344",
"298332827770760559750674853021278924790",
"339358893503217103782614535425119468025"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-39681-ca48d4bb",
"target": {
"function": "bsp_init_hygon",
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@62f12cde10118253348a7540e85606869bd69432",
"deprecated": false,
"digest": {
"length": 1125.0,
"function_hash": "215634349685150222762069899192118674361"
}
},
{
"id": "CVE-2025-39681-d19c76e7",
"target": {
"function": "bsp_init_hygon",
"file": "arch/x86/kernel/cpu/hygon.c"
},
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a9e5924daa954c9f585c1ca00358afe71d6781c4",
"deprecated": false,
"digest": {
"length": 570.0,
"function_hash": "1412998935451975149053159500828331543"
}
}
]