Commit 14e02ed3 authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm/sysfb: Do not dereference NULL pointer in plane reset



The plane state in __drm_gem_reset_shadow_plane() can be NULL. Do not
deref that pointer, but forward NULL to the other plane-reset helpers.
Clears plane->state to NULL.

v2:
- fix typo in commit description (Javier)

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Fixes: b7156502 ("drm/gem: Export implementation of shadow-plane helpers")
Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/dri-devel/aPIDAsHIUHp_qSW4@stanley.mountain/


Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Melissa Wen <melissa.srw@gmail.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v5.15+
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Link: https://patch.msgid.link/20251017091407.58488-1-tzimmermann@suse.de
parent 03355947
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -310,8 +310,12 @@ EXPORT_SYMBOL(drm_gem_destroy_shadow_plane_state);
void __drm_gem_reset_shadow_plane(struct drm_plane *plane,
				  struct drm_shadow_plane_state *shadow_plane_state)
{
	if (shadow_plane_state) {
		__drm_atomic_helper_plane_reset(plane, &shadow_plane_state->base);
		drm_format_conv_state_init(&shadow_plane_state->fmtcnv_state);
	} else {
		__drm_atomic_helper_plane_reset(plane, NULL);
	}
}
EXPORT_SYMBOL(__drm_gem_reset_shadow_plane);