diff mbox series

drm/vmwgfx: Replace deprecated PTR_RET

Message ID 20191208105328.15335-1-lukas.bulwahn@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/vmwgfx: Replace deprecated PTR_RET | expand

Commit Message

Lukas Bulwahn Dec. 8, 2019, 10:53 a.m. UTC
Commit 508108ea2747 ("drm/vmwgfx: Don't refcount command-buffer managed
resource lookups during command buffer validation") slips in use of
deprecated PTR_RET. Use PTR_ERR_OR_ZERO instead.

As the PTR_ERR_OR_ZERO is a bit longer than PTR_RET, we introduce
local variable ret for proper indentation and line-length limits.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
applies cleanly on current master (9455d25f4e3b) and next-20191207
compile-tested on x86_64_defconfig + DRM_VMWGFX=y

 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

Comments

Julia Lawall Dec. 9, 2019, 10:21 a.m. UTC | #1
> De: "Lukas Bulwahn" <lukas.bulwahn@gmail.com>
> À: "Thomas Hellstrom" <thellstrom@vmware.com>, dri-devel@lists.freedesktop.org
> Cc: "David Airlie" <airlied@linux.ie>, "Daniel Vetter" <daniel@ffwll.ch>, "Sinclair Yeh" <syeh@vmware.com>,
> linux-graphics-maintainer@vmware.com, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, "Lukas Bulwahn"
> <lukas.bulwahn@gmail.com>
> Envoyé: Dimanche 8 Décembre 2019 18:53:28
> Objet: [PATCH] drm/vmwgfx: Replace deprecated PTR_RET

> Commit 508108ea2747 ("drm/vmwgfx: Don't refcount command-buffer managed
> resource lookups during command buffer validation") slips in use of
> deprecated PTR_RET. Use PTR_ERR_OR_ZERO instead.
> 
> As the PTR_ERR_OR_ZERO is a bit longer than PTR_RET, we introduce
> local variable ret for proper indentation and line-length limits.

Is 0 actually possible?  I have the impression that it is not, but perhaps I missed something.

julia


> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
> ---
> applies cleanly on current master (9455d25f4e3b) and next-20191207
> compile-tested on x86_64_defconfig + DRM_VMWGFX=y
> 
> drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 21 +++++++++++++++------
> 1 file changed, 15 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> index 934ad7c0c342..73489a45decb 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> @@ -2377,9 +2377,12 @@ static int vmw_cmd_dx_clear_rendertarget_view(struct
> vmw_private *dev_priv,
> {
> 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXClearRenderTargetView) =
> 		container_of(header, typeof(*cmd), header);
> +	struct vmw_resource *ret;
> 
> -	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_rt,
> -					   cmd->body.renderTargetViewId));
> +	ret = vmw_view_id_val_add(sw_context, vmw_view_rt,
> +				  cmd->body.renderTargetViewId);
> +
> +	return PTR_ERR_OR_ZERO(ret);
> }
> 
> /**
> @@ -2396,9 +2399,12 @@ static int vmw_cmd_dx_clear_depthstencil_view(struct
> vmw_private *dev_priv,
> {
> 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXClearDepthStencilView) =
> 		container_of(header, typeof(*cmd), header);
> +	struct vmw_resource *ret;
> +
> +	ret = vmw_view_id_val_add(sw_context, vmw_view_ds,
> +				  cmd->body.depthStencilViewId);
> 
> -	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_ds,
> -					   cmd->body.depthStencilViewId));
> +	return PTR_ERR_OR_ZERO(ret);
> }
> 
> static int vmw_cmd_dx_view_define(struct vmw_private *dev_priv,
> @@ -2741,9 +2747,12 @@ static int vmw_cmd_dx_genmips(struct vmw_private
> *dev_priv,
> {
> 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXGenMips) =
> 		container_of(header, typeof(*cmd), header);
> +	struct vmw_resource *ret;
> +
> +	ret = vmw_view_id_val_add(sw_context, vmw_view_sr,
> +				  cmd->body.shaderResourceViewId);
> 
> -	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_sr,
> -					   cmd->body.shaderResourceViewId));
> +	return PTR_ERR_OR_ZERO(ret);
> }
> 
> /**
> --
> 2.17.1
Thomas Hellstrom Dec. 9, 2019, 2:08 p.m. UTC | #2
On Sun, 2019-12-08 at 11:53 +0100, Lukas Bulwahn wrote:
> Commit 508108ea2747 ("drm/vmwgfx: Don't refcount command-buffer
> managed
> resource lookups during command buffer validation") slips in use of
> deprecated PTR_RET. Use PTR_ERR_OR_ZERO instead.
> 
> As the PTR_ERR_OR_ZERO is a bit longer than PTR_RET, we introduce
> local variable ret for proper indentation and line-length limits.
> 
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
> ---
> applies cleanly on current master (9455d25f4e3b) and next-20191207
> compile-tested on x86_64_defconfig + DRM_VMWGFX=y
> 
>  drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 21 +++++++++++++++------
>  1 file changed, 15 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> index 934ad7c0c342..73489a45decb 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
> @@ -2377,9 +2377,12 @@ static int
> vmw_cmd_dx_clear_rendertarget_view(struct vmw_private *dev_priv,
>  {
>  	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXClearRenderTargetView) =
>  		container_of(header, typeof(*cmd), header);
> +	struct vmw_resource *ret;
>  
> -	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_rt,
> -					   cmd-
> >body.renderTargetViewId));
> +	ret = vmw_view_id_val_add(sw_context, vmw_view_rt,
> +				  cmd->body.renderTargetViewId);
> +
> +	return PTR_ERR_OR_ZERO(ret);
>  }
>  
>  /**
> @@ -2396,9 +2399,12 @@ static int
> vmw_cmd_dx_clear_depthstencil_view(struct vmw_private *dev_priv,
>  {
>  	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXClearDepthStencilView) =
>  		container_of(header, typeof(*cmd), header);
> +	struct vmw_resource *ret;
> +
> +	ret = vmw_view_id_val_add(sw_context, vmw_view_ds,
> +				  cmd->body.depthStencilViewId);
>  
> -	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_ds,
> -					   cmd-
> >body.depthStencilViewId));
> +	return PTR_ERR_OR_ZERO(ret);
>  }
>  
>  static int vmw_cmd_dx_view_define(struct vmw_private *dev_priv,
> @@ -2741,9 +2747,12 @@ static int vmw_cmd_dx_genmips(struct
> vmw_private *dev_priv,
>  {
>  	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXGenMips) =
>  		container_of(header, typeof(*cmd), header);
> +	struct vmw_resource *ret;
> +
> +	ret = vmw_view_id_val_add(sw_context, vmw_view_sr,
> +				  cmd->body.shaderResourceViewId);
>  
> -	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_sr,
> -					   cmd-
> >body.shaderResourceViewId));
> +	return PTR_ERR_OR_ZERO(ret);
>  }
>  
>  /**

Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>

I will include this in vmwgfx-next.
Thanks,
Thomas
Lukas Bulwahn Dec. 9, 2019, 7:05 p.m. UTC | #3
On Mon, Dec 9, 2019 at 11:21 AM Julia Lawall <julia.lawall@inria.fr> wrote:
>
> > De: "Lukas Bulwahn" <lukas.bulwahn@gmail.com>
> > À: "Thomas Hellstrom" <thellstrom@vmware.com>, dri-devel@lists.freedesktop.org
> > Cc: "David Airlie" <airlied@linux.ie>, "Daniel Vetter" <daniel@ffwll.ch>, "Sinclair Yeh" <syeh@vmware.com>,
> > linux-graphics-maintainer@vmware.com, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, "Lukas Bulwahn"
> > <lukas.bulwahn@gmail.com>
> > Envoyé: Dimanche 8 Décembre 2019 18:53:28
> > Objet: [PATCH] drm/vmwgfx: Replace deprecated PTR_RET
>
> > Commit 508108ea2747 ("drm/vmwgfx: Don't refcount command-buffer managed
> > resource lookups during command buffer validation") slips in use of
> > deprecated PTR_RET. Use PTR_ERR_OR_ZERO instead.
> >
> > As the PTR_ERR_OR_ZERO is a bit longer than PTR_RET, we introduce
> > local variable ret for proper indentation and line-length limits.
>
> Is 0 actually possible?  I have the impression that it is not, but perhaps I missed something.
>

I did not sanity-check if 0 is possible before patch submission, just
cleaning the syntatic stuff here to prepare final removal of the
deprecated PTR_RET.
But as far as I see:

vmw_cmd_dx_clear_rendertarget_view
-> vmw_view_id_val_add
-> vmw_view_lookup
-> vmw_cmdbuf_res_lookup

which would then return a proper pointer/a non PTR_ERR value and
hence, it would be possible that PTR_ERR_OR_ZERO returns 0. It all
looks pretty sane.

Lukas
diff mbox series

Patch

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
index 934ad7c0c342..73489a45decb 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
@@ -2377,9 +2377,12 @@  static int vmw_cmd_dx_clear_rendertarget_view(struct vmw_private *dev_priv,
 {
 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXClearRenderTargetView) =
 		container_of(header, typeof(*cmd), header);
+	struct vmw_resource *ret;
 
-	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_rt,
-					   cmd->body.renderTargetViewId));
+	ret = vmw_view_id_val_add(sw_context, vmw_view_rt,
+				  cmd->body.renderTargetViewId);
+
+	return PTR_ERR_OR_ZERO(ret);
 }
 
 /**
@@ -2396,9 +2399,12 @@  static int vmw_cmd_dx_clear_depthstencil_view(struct vmw_private *dev_priv,
 {
 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXClearDepthStencilView) =
 		container_of(header, typeof(*cmd), header);
+	struct vmw_resource *ret;
+
+	ret = vmw_view_id_val_add(sw_context, vmw_view_ds,
+				  cmd->body.depthStencilViewId);
 
-	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_ds,
-					   cmd->body.depthStencilViewId));
+	return PTR_ERR_OR_ZERO(ret);
 }
 
 static int vmw_cmd_dx_view_define(struct vmw_private *dev_priv,
@@ -2741,9 +2747,12 @@  static int vmw_cmd_dx_genmips(struct vmw_private *dev_priv,
 {
 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdDXGenMips) =
 		container_of(header, typeof(*cmd), header);
+	struct vmw_resource *ret;
+
+	ret = vmw_view_id_val_add(sw_context, vmw_view_sr,
+				  cmd->body.shaderResourceViewId);
 
-	return PTR_RET(vmw_view_id_val_add(sw_context, vmw_view_sr,
-					   cmd->body.shaderResourceViewId));
+	return PTR_ERR_OR_ZERO(ret);
 }
 
 /**