| From e6367a96cb9333fdf4cbfe8d84549e7c062b3b87 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 7 Apr 2022 10:31:51 +0800 |
| Subject: drm/msm/mdp5: check the return of kzalloc() |
| |
| From: Xiaoke Wang <xkernel.wang@foxmail.com> |
| |
| [ Upstream commit 047ae665577776b7feb11bd4f81f46627cff95e7 ] |
| |
| kzalloc() is a memory allocation function which can return NULL when |
| some internal memory errors happen. So it is better to check it to |
| prevent potential wrong memory access. |
| |
| Besides, since mdp5_plane_reset() is void type, so we should better |
| set `plane-state` to NULL after releasing it. |
| |
| Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com> |
| Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> |
| Patchwork: https://patchwork.freedesktop.org/patch/481055/ |
| Link: https://lore.kernel.org/r/tencent_8E2A1C78140EE1784AB2FF4B2088CC0AB908@qq.com |
| Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> |
| Signed-off-by: Rob Clark <robdclark@chromium.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c |
| index 83423092de2f..da0799333970 100644 |
| --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c |
| +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c |
| @@ -179,7 +179,10 @@ static void mdp5_plane_reset(struct drm_plane *plane) |
| drm_framebuffer_put(plane->state->fb); |
| |
| kfree(to_mdp5_plane_state(plane->state)); |
| + plane->state = NULL; |
| mdp5_state = kzalloc(sizeof(*mdp5_state), GFP_KERNEL); |
| + if (!mdp5_state) |
| + return; |
| |
| /* assign default blend parameters */ |
| mdp5_state->alpha = 255; |
| -- |
| 2.35.1 |
| |