In the Linux kernel, the following vulnerability has been resolved:
dmaengine: qcom-adm: fix wrong calling convention for prepslavesg
The calling convention for preslavesg is to return NULL on error and provide an error log to the system. Qcom-adm instead provide error pointer when an error occur. This indirectly cause kernel panic for example for the nandc driver that checks only if the pointer returned by deviceprepslavesg is not NULL. Returning an error pointer makes nandc think the deviceprepslavesg function correctly completed and makes the kernel panics later in the code.
While nandc is the one that makes the kernel crash, it was pointed out that the real problem is qcom-adm not following calling convention for that function.
To fix this, drop returning error pointer and return NULL with an error log.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50721.json",
"cna_assigner": "Linux"
}