Messages in this thread | | | Date | Mon, 13 Dec 2021 10:59:05 +0100 | Subject | Re: [PATCH] drm/ast: potential dereference of null pointer | From | Thomas Zimmermann <> |
| |
Hi,
thanks for the patch.
Am 13.12.21 um 06:39 schrieb Jiasheng Jiang: > he return value of kzalloc() needs to be checked.
'The'
> To avoid use of null pointer '&ast_state->base' in case of the > failure of alloc. > > Fixes: f0adbc382b8b ("drm/ast: Allocate initial CRTC state of the correct size") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > --- > drivers/gpu/drm/ast/ast_mode.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c > index 36d9575aa27b..67f8e3f90ea2 100644 > --- a/drivers/gpu/drm/ast/ast_mode.c > +++ b/drivers/gpu/drm/ast/ast_mode.c > @@ -1120,7 +1120,8 @@ static void ast_crtc_reset(struct drm_crtc *crtc) > if (crtc->state) > crtc->funcs->atomic_destroy_state(crtc, crtc->state); > > - __drm_atomic_helper_crtc_reset(crtc, &ast_state->base); > + if (ast_state) > + __drm_atomic_helper_crtc_reset(crtc, &ast_state->base);
If ast_state is NULL, __drm_atomic_helper_crtc_reset() has to be called with a state of NULL. Otherwise the reset might leave the dangling pointer in the CRTC's state field.
Best regards Thomas
> } > > static struct drm_crtc_state * >
-- 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 [unhandled content-type:application/pgp-signature] | |