In the Linux kernel, the following vulnerability has been resolved:
drm/msm/dpu: Disallow unallocated resources to be returned
In the event that the topology requests resources that have not been created by the system (because they are typically not represented in dpumdsscfg ^1), the resource(s) in globalstate (in this case DSC blocks, until their allocation/assignment is being sanity-checked in "drm/msm/dpu: Reject topologies for which no DSC blocks are available") remain NULL but will still be returned out of dpurmgetassignedresources, where the caller expects to get an array containing numblks valid pointers (but instead gets these NULLs).
To prevent this from happening, where null-pointer dereferences typically result in a hard-to-debug platform lockup, numblks shouldn't increase past NULL blocks and will print an error and break instead. After all, maxblks represents the static size of the maximum number of blocks whereas the actual amount varies per platform.
^1: which can happen after a git rebase ended up moving additions to dpucfg to a different struct which has the same patch context.
Patchwork: https://patchwork.freedesktop.org/patch/517636/
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53991.json",
"cna_assigner": "Linux"
}