[PATCH] drm/ast: potential dereference of null pointer
The return value of kzalloc() needs to be checked. To avoid use of null pointer '_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 --- drivers/gpu/drm/ast/ast_mode.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c index 36d9575aa27b..65099f0359f9 100644 --- a/drivers/gpu/drm/ast/ast_mode.c +++ b/drivers/gpu/drm/ast/ast_mode.c @@ -1120,7 +1120,10 @@ 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, _state->base); + if (ast_state) + __drm_atomic_helper_crtc_reset(crtc, _state->base); + else + __drm_atomic_helper_crtc_reset(crtc, NULL); } static struct drm_crtc_state * -- 2.25.1
Re: [PATCH] drm/ast: potential dereference of null pointer
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 '_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 --- 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, _state->base); + if (ast_state) + __drm_atomic_helper_crtc_reset(crtc, _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 OpenPGP_signature Description: OpenPGP digital signature
[PATCH] drm/ast: potential dereference of null pointer
he return value of kzalloc() needs to be checked. To avoid use of null pointer '_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 --- 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, _state->base); + if (ast_state) + __drm_atomic_helper_crtc_reset(crtc, _state->base); } static struct drm_crtc_state * -- 2.25.1