drm/sun4i: backend: fix error pointer dereference
PATCH 1/1 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()
--- drivers/gpu/drm/sun4i/sun4i_backend.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/gpu/drm/sun4i/sun4i_backend.c +3 -0
@@ -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;
Signature · 1 line
2.53.0
Quoted 10 lines · Ethan Tidmore
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:496sun4i_backend_atomic_check()error:
'plane_state' dereferencing possibleERR_PTR()Fixes 96180dde23b79 ("drm/sun4i: backend: Add a custom atomic_check for the frontend")Signed-off-by Ethan Tidmore <[email protected]>
Quoted 8 lines · Ethan Tidmore
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:496sun4i_backend_atomic_check()error:
'plane_state' dereferencing possibleERR_PTR()[...]
Applied to drm-misc-next in drm-misc, thanks!
[1/1] drm/sun4i: backend: fix error pointer dereference
commit: 06277983eca4a31d3c2114fa33d99a6e82484b11
Best regards,
Signature · 1 line
Chen-Yu Tsai <[email protected]>