In the Linux kernel, the following vulnerability has been resolved:
drm/msm/mdp5: Return error code in mdp5piperelease when deadlock is detected
mdp5getglobalstate runs the risk of hitting a -EDEADLK when acquiring the modeset lock, but currently mdp5piperelease doesn't check for if an error is returned. Because of this, there is a possibility of mdp5pipe_release hitting a NULL dereference error.
To avoid this, let's have mdp5piperelease check if mdp5getglobal_state returns an error and propogate that error.
Changes since v1: - Separated declaration and initialization of *new_state to avoid compiler warning - Fixed some spelling mistakes in commit message
Changes since v2: - Return 0 in case where hwpipe is NULL as this is considered normal behavior - Added 2nd patch in series to fix a similar NULL dereference issue in mdp5mixerrelease
Patchwork: https://patchwork.freedesktop.org/patch/485179/