Re: [PATCH net-next v1] sunrpc: Use ERR_CAST() to return

From: Chuck Lever
Date: Thu Aug 29 2024 - 10:54:36 EST


On Thu, Aug 29, 2024 at 09:04:34PM +0800, Yan Zhen wrote:
> Using ERR_CAST() is more reasonable and safer, When it is necessary
> to convert the type of an error pointer and return it.
>
> Signed-off-by: Yan Zhen <yanzhen@xxxxxxxx>
> ---
> net/sunrpc/clnt.c | 2 +-
> net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
> index 09f29a95f2bc..8ee87311b348 100644
> --- a/net/sunrpc/clnt.c
> +++ b/net/sunrpc/clnt.c
> @@ -603,7 +603,7 @@ struct rpc_clnt *rpc_create(struct rpc_create_args *args)
>
> xprt = xprt_create_transport(&xprtargs);
> if (IS_ERR(xprt))
> - return (struct rpc_clnt *)xprt;
> + return ERR_CAST(xprt);
>
> /*
> * By default, kernel RPC client connects from a reserved port.
> diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
> index 581cc5ed7c0c..c3fbf0779d4a 100644
> --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
> +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
> @@ -369,7 +369,7 @@ static struct svc_xprt *svc_rdma_create(struct svc_serv *serv,
> listen_id = svc_rdma_create_listen_id(net, sa, cma_xprt);
> if (IS_ERR(listen_id)) {
> kfree(cma_xprt);
> - return (struct svc_xprt *)listen_id;
> + return ERR_CAST(listen_id);
> }
> cma_xprt->sc_cm_id = listen_id;
>
> --
> 2.34.1
>
>

These two hunks should go through separate trees, I think.

The clnt.c hunk needs to go through Anna and Trond's NFS client
tree, and the svc_rdma_transport.c hunk can go through the NFSD
tree (ie, To: me and Jeff).

Can you send two separate patches, please? The RDMA hunk looks OK to
me and I plan to apply it upon receipt of a separate patch.

--
Chuck Lever