[PATCH v2 2/2] drm/auth: make drm_{set,drop]master_ioctl symmetrical

Sam Ravnborg sam at ravnborg.org
Sat May 30 13:18:15 UTC 2020


Hi Emil.
On Sat, May 30, 2020 at 01:46:40PM +0100, Emil Velikov wrote:
> Currently the ret handling is all over the place - with two redundant
> assignments and another one addressed earlier.
> 
> Use the exact same flow in both functions.
> 
> v2: straighten the code flow, instead of just removing the assignments
Now even I should be able to follow the flow - thanks :-)

> 
> Cc: David Airlie <airlied at linux.ie>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: Sam Ravnborg <sam at ravnborg.org>
> Cc: Colin Ian King <colin.king at canonical.com>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Sam Ravnborg <sam at ravnborg.org>
> ---
> Colin, pretty sure that this should address couple of Coverity warnings.
> Yet I didn't check their web UI thingy.
> ---
>  drivers/gpu/drm/drm_auth.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
> index 4c723e3a689c..f2d46b7ac6f9 100644
> --- a/drivers/gpu/drm/drm_auth.c
> +++ b/drivers/gpu/drm/drm_auth.c
> @@ -215,7 +215,7 @@ drm_master_check_perm(struct drm_device *dev, struct drm_file *file_priv)
>  int drm_setmaster_ioctl(struct drm_device *dev, void *data,
>  			struct drm_file *file_priv)
>  {
> -	int ret = 0;
> +	int ret;
>  
>  	mutex_lock(&dev->master_mutex);
>  
> @@ -272,12 +272,15 @@ int drm_dropmaster_ioctl(struct drm_device *dev, void *data,
>  	if (ret)
>  		goto out_unlock;
>  
> -	ret = -EINVAL;
> -	if (!drm_is_current_master(file_priv))
> +	if (!drm_is_current_master(file_priv)) {
> +		ret = -EINVAL;
>  		goto out_unlock;
> +	}
>  
> -	if (!dev->master)
> +	if (!dev->master) {
> +		ret = -EINVAL;
>  		goto out_unlock;
> +	}
>  
>  	if (file_priv->master->lessor != NULL) {
>  		DRM_DEBUG_LEASE("Attempt to drop lessee %d as master\n", file_priv->master->lessee_id);
> @@ -285,7 +288,6 @@ int drm_dropmaster_ioctl(struct drm_device *dev, void *data,
>  		goto out_unlock;
>  	}
>  
> -	ret = 0;
>  	drm_drop_master(dev, file_priv);
>  out_unlock:
>  	mutex_unlock(&dev->master_mutex);
> -- 
> 2.25.1


More information about the dri-devel mailing list