| From 40ffcf674a863d252daa8e7121ff12a282eb71f2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 8 Jan 2022 17:52:30 +0100 |
| Subject: drm/imx: Fix memory leak in imx_pd_connector_get_modes |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: José Expósito <jose.exposito89@gmail.com> |
| |
| [ Upstream commit bce81feb03a20fca7bbdd1c4af16b4e9d5c0e1d3 ] |
| |
| Avoid leaking the display mode variable if of_get_drm_display_mode |
| fails. |
| |
| Fixes: 76ecd9c9fb24 ("drm/imx: parallel-display: check return code from of_get_drm_display_mode()") |
| Addresses-Coverity-ID: 1443943 ("Resource leak") |
| Signed-off-by: José Expósito <jose.exposito89@gmail.com> |
| Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> |
| Link: https://lore.kernel.org/r/20220108165230.44610-1-jose.exposito89@gmail.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/imx/parallel-display.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c |
| index 06cb1a59b9bc..63ba2ad84679 100644 |
| --- a/drivers/gpu/drm/imx/parallel-display.c |
| +++ b/drivers/gpu/drm/imx/parallel-display.c |
| @@ -75,8 +75,10 @@ static int imx_pd_connector_get_modes(struct drm_connector *connector) |
| ret = of_get_drm_display_mode(np, &imxpd->mode, |
| &imxpd->bus_flags, |
| OF_USE_NATIVE_MODE); |
| - if (ret) |
| + if (ret) { |
| + drm_mode_destroy(connector->dev, mode); |
| return ret; |
| + } |
| |
| drm_mode_copy(mode, &imxpd->mode); |
| mode->type |= DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; |
| -- |
| 2.35.1 |
| |