[AMD Official Use Only - General] Prefer drm_err instead of DRM_ERR: https://elixir.bootlin.com/linux/latest/source/include/drm/drm_print.h#L468
With or without that fixed, patch is Reviewed-by: Aurabindo Pillai <[email protected]> -- Regards, Jay ________________________________ From: SHANMUGAM, SRINIVASAN <[email protected]> Sent: Tuesday, January 30, 2024 4:45 AM To: Siqueira, Rodrigo <[email protected]>; Pillai, Aurabindo <[email protected]> Cc: [email protected] <[email protected]>; Julia Lawall <[email protected]>; Hung, Alex <[email protected]>; Deucher, Alexander <[email protected]>; Chung, ChiaHsuan (Tom) <[email protected]> Subject: Re: [PATCH] drm/amd/display: Add NULL check for kzalloc in 'amdgpu_dm_atomic_commit_tail()' + Cc: Tom Chung <[email protected]> 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 <[email protected]> > Cc: Aurabindo Pillai <[email protected]> > Cc: Rodrigo Siqueira <[email protected]> > Cc: Alex Hung <[email protected]> > Cc: Alex Deucher <[email protected]> > Signed-off-by: Srinivasan Shanmugam <[email protected]> > --- > 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]; >
