]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/msm/mdp5: Fix mdp5_init error path for failed mdp5_kms allocation
authorRoy Spliet <nouveau@spliet.org>
Tue, 7 Apr 2020 17:07:37 +0000 (18:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:50:29 +0000 (17:50 +0200)
[ Upstream commit e4337877c5d578722c0716f131fb774522013cf5 ]

When allocation for mdp5_kms fails, calling mdp5_destroy() leads to undefined
behaviour, likely a nullptr exception or use-after-free troubles.

Signed-off-by: Roy Spliet <nouveau@spliet.org>
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c

index 91cd76a2bab11bc7dce2097a0ab9a4374d9f7b24..77823ccdd0f8f3b6517ef43f8099f48f624daa44 100644 (file)
@@ -1037,7 +1037,8 @@ static int mdp5_init(struct platform_device *pdev, struct drm_device *dev)
 
        return 0;
 fail:
-       mdp5_destroy(pdev);
+       if (mdp5_kms)
+               mdp5_destroy(pdev);
        return ret;
 }