Commit 06277983 authored by Ethan Tidmore's avatar Ethan Tidmore Committed by Chen-Yu Tsai
Browse files

drm/sun4i: backend: fix error pointer dereference



The function drm_atomic_get_plane_state() can return an error pointer
and is not checked for it. Add error pointer check.

Detected by Smatch:
drivers/gpu/drm/sun4i/sun4i_backend.c:496 sun4i_backend_atomic_check() error:
'plane_state' dereferencing possible ERR_PTR()

Fixes: 96180dde ("drm/sun4i: backend: Add a custom atomic_check for the frontend")
Signed-off-by: default avatarEthan Tidmore <ethantidmore06@gmail.com>
Reviewed-by: default avatarChen-Yu Tsai <wens@kernel.org>
Link: https://patch.msgid.link/20260217014801.60760-1-ethantidmore06@gmail.com


Signed-off-by: default avatarChen-Yu Tsai <wens@kernel.org>
parent 74462990
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -491,6 +491,9 @@ static int sun4i_backend_atomic_check(struct sunxi_engine *engine,
	drm_for_each_plane_mask(plane, drm, crtc_state->plane_mask) {
		struct drm_plane_state *plane_state =
			drm_atomic_get_plane_state(state, plane);
		if (IS_ERR(plane_state))
			return PTR_ERR(plane_state);

		struct sun4i_layer_state *layer_state =
			state_to_sun4i_layer_state(plane_state);
		struct drm_framebuffer *fb = plane_state->fb;