In the Linux kernel, the following vulnerability has been resolved:
locking/csdlock: Change csdlockdebug from early_param to __setup
The csdlockdebug kernel-boot parameter is parsed by the earlyparam() function csdlockdebug(). If set, csdlockdebug() invokes staticbranchenable() to enable csdlockwait feature, which triggers a panic on arm64 for kernels built with CONFIGSPARSEMEM=y and CONFIGSPARSEMEM_VMEMMAP=n.
With CONFIGSPARSEMEMVMEMMAP=n, __nrtosection is called in statickeyenable() and returns NULL, resulting in a NULL dereference because memsection is initialized only later in sparseinit().
This is also a problem for powerpc because earlyparam() functions are invoked earlier than jumplabelinit(), also resulting in statickeyenable() failures. These failures cause the warning "static key 'xxx' used before call to jumplabel_init()".
Thus, earlyparam is too early for csdlockwait to run staticbranch_enable(), so changes it to __setup to fix these.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50091.json"
}[
{
"digest": {
"length": 264.0,
"function_hash": "14611611318189753202187100037711537304"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50091-043f0d31",
"target": {
"function": "csdlock_debug",
"file": "kernel/smp.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d2cbdbe22b5f190055d2d0ae92e7454479343a30"
},
{
"signature_version": "v1",
"digest": {
"length": 264.0,
"function_hash": "14611611318189753202187100037711537304"
},
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50091-3689c1d0",
"target": {
"function": "csdlock_debug",
"file": "kernel/smp.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b480d1e9a8c11ecc1c99dc01814b28e3103bd0a0"
},
{
"digest": {
"length": 264.0,
"function_hash": "14611611318189753202187100037711537304"
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50091-39bbd8bc",
"target": {
"function": "csdlock_debug",
"file": "kernel/smp.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@05de9e2e33b1625c71aee69e353fe906dd2be88a"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"162846425184859959557266090621631661469",
"134664510700642263854484336517212637926",
"217938608703899968918591744921373065158",
"145582941776332083064702507983221132414",
"87384969846070631849973831768865275839",
"125617922551097491442194582690640357069"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50091-a16519dc",
"target": {
"file": "kernel/smp.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b480d1e9a8c11ecc1c99dc01814b28e3103bd0a0"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"162846425184859959557266090621631661469",
"134664510700642263854484336517212637926",
"217938608703899968918591744921373065158",
"145582941776332083064702507983221132414",
"87384969846070631849973831768865275839",
"125617922551097491442194582690640357069"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50091-c493b503",
"target": {
"file": "kernel/smp.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@05de9e2e33b1625c71aee69e353fe906dd2be88a"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"162846425184859959557266090621631661469",
"134664510700642263854484336517212637926",
"217938608703899968918591744921373065158",
"145582941776332083064702507983221132414",
"87384969846070631849973831768865275839",
"125617922551097491442194582690640357069"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50091-e5ad1d34",
"target": {
"file": "kernel/smp.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d2cbdbe22b5f190055d2d0ae92e7454479343a30"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50091.json"