The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] drm/gem: Remove unneeded ret check in change handle ioctl
@ 2026-05-11 14:25 Jonathan Cavitt
  2026-05-14 15:16 ` Rodrigo Vivi
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Cavitt @ 2026-05-11 14:25 UTC (permalink / raw)
  To: dri-devel
  Cc: saurabhg.gupta, alex.zuo, jonathan.cavitt, maarten.lankhorst,
	mripard, tzimmermann, airlied, simona, linux-kernel

Remove the "if (ret < 0)" branch after idr_replace in
drm_gem_change_handle_ioctl.  It is unused, as in the only place we
modify the return value between there and the previous return value
check, we also immediately jump to out_unlock, bypassing the check
entirely.

Issue caught by static analysis.

Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
---
 drivers/gpu/drm/drm_gem.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index abc8e41d6652..110bc5a58862 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -1067,9 +1067,6 @@ int drm_gem_change_handle_ioctl(struct drm_device *dev, void *data,
 
 	spin_unlock(&file_priv->table_lock);
 
-	if (ret < 0)
-		goto out_unlock;
-
 	if (obj->dma_buf) {
 		ret = drm_prime_add_buf_handle(&file_priv->prime, obj->dma_buf,
 					       handle);
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/gem: Remove unneeded ret check in change handle ioctl
  2026-05-11 14:25 [PATCH] drm/gem: Remove unneeded ret check in change handle ioctl Jonathan Cavitt
@ 2026-05-14 15:16 ` Rodrigo Vivi
  2026-05-14 15:23   ` Rodrigo Vivi
  0 siblings, 1 reply; 3+ messages in thread
From: Rodrigo Vivi @ 2026-05-14 15:16 UTC (permalink / raw)
  To: Jonathan Cavitt
  Cc: dri-devel, saurabhg.gupta, alex.zuo, maarten.lankhorst, mripard,
	tzimmermann, airlied, simona, linux-kernel

On Mon, May 11, 2026 at 10:25:40PM +0800, Jonathan Cavitt wrote:
> Remove the "if (ret < 0)" branch after idr_replace in
> drm_gem_change_handle_ioctl.  It is unused, as in the only place we
> modify the return value between there and the previous return value
> check, we also immediately jump to out_unlock, bypassing the check
> entirely.
> 
> Issue caught by static analysis.

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> 
> Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_gem.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index abc8e41d6652..110bc5a58862 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -1067,9 +1067,6 @@ int drm_gem_change_handle_ioctl(struct drm_device *dev, void *data,
>  
>  	spin_unlock(&file_priv->table_lock);
>  
> -	if (ret < 0)
> -		goto out_unlock;
> -
>  	if (obj->dma_buf) {
>  		ret = drm_prime_add_buf_handle(&file_priv->prime, obj->dma_buf,
>  					       handle);
> -- 
> 2.53.0
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/gem: Remove unneeded ret check in change handle ioctl
  2026-05-14 15:16 ` Rodrigo Vivi
@ 2026-05-14 15:23   ` Rodrigo Vivi
  0 siblings, 0 replies; 3+ messages in thread
From: Rodrigo Vivi @ 2026-05-14 15:23 UTC (permalink / raw)
  To: Jonathan Cavitt
  Cc: dri-devel, saurabhg.gupta, alex.zuo, maarten.lankhorst, mripard,
	tzimmermann, airlied, simona, linux-kernel

On Thu, May 14, 2026 at 11:16:21AM -0400, Rodrigo Vivi wrote:
> On Mon, May 11, 2026 at 10:25:40PM +0800, Jonathan Cavitt wrote:
> > Remove the "if (ret < 0)" branch after idr_replace in
> > drm_gem_change_handle_ioctl.  It is unused, as in the only place we
> > modify the return value between there and the previous return value
> > check, we also immediately jump to out_unlock, bypassing the check
> > entirely.
> > 
> > Issue caught by static analysis.
> 
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

It doesn't apply in drm-misc branches yet because it doesn't yet
have the culprit patch that caused this code.

That is only part of drm-fixes:

5e28b7b94408 ("drm: Set old handle to NULL before prime swap in change_handle")

I believe this patch here can wait this culprit patch to get propagated
through a backmerge/rebase...

> 
> > 
> > Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Maxime Ripard <mripard@kernel.org>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: David Airlie <airlied@gmail.com>
> > Cc: Simona Vetter <simona@ffwll.ch>
> > ---
> >  drivers/gpu/drm/drm_gem.c | 3 ---
> >  1 file changed, 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> > index abc8e41d6652..110bc5a58862 100644
> > --- a/drivers/gpu/drm/drm_gem.c
> > +++ b/drivers/gpu/drm/drm_gem.c
> > @@ -1067,9 +1067,6 @@ int drm_gem_change_handle_ioctl(struct drm_device *dev, void *data,
> >  
> >  	spin_unlock(&file_priv->table_lock);
> >  
> > -	if (ret < 0)
> > -		goto out_unlock;
> > -
> >  	if (obj->dma_buf) {
> >  		ret = drm_prime_add_buf_handle(&file_priv->prime, obj->dma_buf,
> >  					       handle);
> > -- 
> > 2.53.0
> > 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-05-14 15:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-11 14:25 [PATCH] drm/gem: Remove unneeded ret check in change handle ioctl Jonathan Cavitt
2026-05-14 15:16 ` Rodrigo Vivi
2026-05-14 15:23   ` Rodrigo Vivi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox