| From 16d1845d71f4224988a9cc7b2a6a9e07b0bc3401 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 2 Feb 2022 09:17:55 +0100 |
| Subject: drm: mxsfb: Fix NULL pointer dereference |
| |
| From: Alexander Stein <alexander.stein@ew.tq-group.com> |
| |
| [ Upstream commit 622c9a3a7868e1eeca39c55305ca3ebec4742b64 ] |
| |
| mxsfb should not ever dereference the NULL pointer which |
| drm_atomic_get_new_bridge_state is allowed to return. |
| Assume a fixed format instead. |
| |
| Fixes: b776b0f00f24 ("drm: mxsfb: Use bus_format from the nearest bridge if present") |
| Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> |
| Signed-off-by: Marek Vasut <marex@denx.de> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20220202081755.145716-3-alexander.stein@ew.tq-group.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/mxsfb/mxsfb_kms.c | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/mxsfb/mxsfb_kms.c b/drivers/gpu/drm/mxsfb/mxsfb_kms.c |
| index b96ba348c68d9..988bc4fbd78df 100644 |
| --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c |
| +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c |
| @@ -361,7 +361,11 @@ static void mxsfb_crtc_atomic_enable(struct drm_crtc *crtc, |
| bridge_state = |
| drm_atomic_get_new_bridge_state(state, |
| mxsfb->bridge); |
| - bus_format = bridge_state->input_bus_cfg.format; |
| + if (!bridge_state) |
| + bus_format = MEDIA_BUS_FMT_FIXED; |
| + else |
| + bus_format = bridge_state->input_bus_cfg.format; |
| + |
| if (bus_format == MEDIA_BUS_FMT_FIXED) { |
| dev_warn_once(drm->dev, |
| "Bridge does not provide bus format, assuming MEDIA_BUS_FMT_RGB888_1X24.\n" |
| -- |
| 2.34.1 |
| |