Thomas Zimmermann
2023-Feb-17 10:14 UTC
[PATCH] gpu-drm-tiny-cirrus: Add NULL check of pointer pipe->plane.state->fb in cirrus_pipe_update()
Hi Am 15.02.23 um 18:15 schrieb Alexander Sapozhnikov:> From: Alexandr Sapozhnikov <alsp705 at gmail.com> > > After having been compared to NULL value at cirrus.c:455, pointer 'pipe->plane.state->fb' is passed as > 1st parameter in call to function 'cirrus_fb_blit_rect' at cirrus.c:461, where it is dereferenced at cirrus.c:316. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Signed-off-by: Alexandr Sapozhnikov <alsp705 at gmail.com>Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de> I'll add you patch to drm-misc-fixes. Best regards Thomas> --- > drivers/gpu/drm/tiny/cirrus.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/tiny/cirrus.c b/drivers/gpu/drm/tiny/cirrus.c > index 678c2ef..ffa7e61 100644 > --- a/drivers/gpu/drm/tiny/cirrus.c > +++ b/drivers/gpu/drm/tiny/cirrus.c > @@ -455,7 +455,7 @@ static void cirrus_pipe_update(struct drm_simple_display_pipe *pipe, > if (state->fb && cirrus->cpp != cirrus_cpp(state->fb)) > cirrus_mode_set(cirrus, &crtc->mode, state->fb); > > - if (drm_atomic_helper_damage_merged(old_state, state, &rect)) > + if (state->fb && drm_atomic_helper_damage_merged(old_state, state, &rect)) > cirrus_fb_blit_rect(state->fb, &shadow_plane_state->data[0], &rect); > } >-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 N?rnberg, Germany (HRB 36809, AG N?rnberg) Gesch?ftsf?hrer: Ivo Totev -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20230217/3c78ccd2/attachment.sig>