In the Linux kernel, the following vulnerability has been resolved:
locking/csdlock: Change csdlockdebug from earlyparam 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 sparse_init().
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 staticbranchenable(), so changes it to _setup to fix these.