| From 045dc7e1a64e5fde014141b5f438be5fd38187cb Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 5 Jan 2022 15:47:29 +0800 |
| Subject: drm/imx: imx-ldb: Check for null pointer after calling kmemdup |
| |
| From: Jiasheng Jiang <jiasheng@iscas.ac.cn> |
| |
| [ Upstream commit 8027a9ad9b3568c5eb49c968ad6c97f279d76730 ] |
| |
| As the possible failure of the allocation, kmemdup() may return NULL |
| pointer. |
| Therefore, it should be better to check the return value of kmemdup() |
| and return error if fails. |
| |
| Fixes: dc80d7038883 ("drm/imx-ldb: Add support to drm-bridge") |
| Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> |
| Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> |
| Link: https://lore.kernel.org/r/20220105074729.2363657-1-jiasheng@iscas.ac.cn |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/imx/imx-ldb.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c |
| index e5078d03020d..fb0e951248f6 100644 |
| --- a/drivers/gpu/drm/imx/imx-ldb.c |
| +++ b/drivers/gpu/drm/imx/imx-ldb.c |
| @@ -572,6 +572,8 @@ static int imx_ldb_panel_ddc(struct device *dev, |
| edidp = of_get_property(child, "edid", &edid_len); |
| if (edidp) { |
| channel->edid = kmemdup(edidp, edid_len, GFP_KERNEL); |
| + if (!channel->edid) |
| + return -ENOMEM; |
| } else if (!channel->panel) { |
| /* fallback to display-timings node */ |
| ret = of_get_drm_display_mode(child, |
| -- |
| 2.35.1 |
| |