[PATCH] drm/amd/display: Add NULL check for kzalloc in 'amdgpu_dm_atomic_commit_tail()'

SRINIVASAN SHANMUGAM srinivasan.shanmugam at amd.com
Tue Jan 30 09:45:27 UTC 2024


+ Cc: Tom Chung <chiahsuan.chung at amd.com>

On 1/30/2024 2:11 PM, SHANMUGAM, SRINIVASAN wrote:
> Add a NULL check for the kzalloc call that allocates memory for
> dummy_updates in the amdgpu_dm_atomic_commit_tail function. Previously,
> if kzalloc failed to allocate memory and returned NULL, the code would
> attempt to use the NULL pointer.
>
> The fix is to check if kzalloc returns NULL, and if so, log an error
> message and skip the rest of the current loop iteration with the
> continue statement.  This prevents the code from attempting to use the
> NULL pointer.
>
> Cc: Julia Lawall <julia.lawall at inria.fr>
> Cc: Aurabindo Pillai <aurabindo.pillai at amd.com>
> Cc: Rodrigo Siqueira <rodrigo.siqueira at amd.com>
> Cc: Alex Hung <alex.hung at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
> ---
>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 0bf1bc7ced7d..8590c9f1dda6 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -9236,6 +9236,10 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
>   		 * To fix this, DC should permit updating only stream properties.
>   		 */
>   		dummy_updates = kzalloc(sizeof(struct dc_surface_update) * MAX_SURFACES, GFP_ATOMIC);
> +		if (!dummy_updates) {
> +			DRM_ERROR("Failed to allocate memory for dummy_updates.\n");
> +			continue;
> +		}
>   		for (j = 0; j < status->plane_count; j++)
>   			dummy_updates[j].surface = status->plane_states[0];
>   


More information about the amd-gfx mailing list