> -----Original Message----- > From: Tvrtko Ursulin <[email protected]> > Sent: 24 March 2026 16:40 > To: [email protected]; [email protected] > Cc: Tvrtko Ursulin <[email protected]>; Girotra, Himanshu > <[email protected]>; Brost, Matthew <[email protected]>; > Thomas Hellström <[email protected]> > Subject: [PATCH] drm/syncobj: Fix xa_alloc allocation flags > > The xarray conversion blindly and wrongly replaced idr_alloc with xa_alloc and > kept the GFP_NOWAIT. It should have been GFP_KERNEL to account for > idr_preload it removed. Fix it. > > Signed-off-by: Tvrtko Ursulin <[email protected]> > Fixes: fec2c3c01f1c ("drm/syncobj: Convert syncobj idr to xarray") > Reported-by: Himanshu Girotra <[email protected]> > Cc: Matthew Brost <[email protected]> > Cc: Thomas Hellström <[email protected]>
Reviewed-by: Himanshu Girotra <[email protected]> > --- > drivers/gpu/drm/drm_syncobj.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c > index 250734dee928..8d9fd1917c6e 100644 > --- a/drivers/gpu/drm/drm_syncobj.c > +++ b/drivers/gpu/drm/drm_syncobj.c > @@ -602,7 +602,7 @@ int drm_syncobj_get_handle(struct drm_file > *file_private, > drm_syncobj_get(syncobj); > > ret = xa_alloc(&file_private->syncobj_xa, handle, syncobj, > xa_limit_32b, > - GFP_NOWAIT); > + GFP_KERNEL); > if (ret) > drm_syncobj_put(syncobj); > > @@ -716,7 +716,7 @@ static int drm_syncobj_fd_to_handle(struct drm_file > *file_private, > drm_syncobj_get(syncobj); > > ret = xa_alloc(&file_private->syncobj_xa, handle, syncobj, > xa_limit_32b, > - GFP_NOWAIT); > + GFP_KERNEL); > if (ret) > drm_syncobj_put(syncobj); > > -- > 2.52.0
