2021-09-10 09:36:27

by Yang Li

[permalink] [raw]
Subject: [PATCH -next] UNRPC: Return specific error code on kmalloc failure

Although the callers of this function only care about whether the
return value is null or not, we should still give a rigorous
error code.

Smatch tool warning:
net/sunrpc/auth_gss/svcauth_gss.c:784 gss_write_verf() warn: returning
-1 instead of -ENOMEM is sloppy

No functional change, just more standardized.

Reported-by: Abaci Robot <[email protected]>
Signed-off-by: Yang Li <[email protected]>
---
net/sunrpc/auth_gss/svcauth_gss.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
index 3e776e3..7dba6a9 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -781,7 +781,7 @@ static inline u32 round_up_to_quad(u32 i)
svc_putnl(rqstp->rq_res.head, RPC_AUTH_GSS);
xdr_seq = kmalloc(4, GFP_KERNEL);
if (!xdr_seq)
- return -1;
+ return -ENOMEM;
*xdr_seq = htonl(seq);

iov.iov_base = xdr_seq;
--
1.8.3.1


2021-09-23 20:09:25

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH -next] UNRPC: Return specific error code on kmalloc failure

On Fri, Sep 10, 2021 at 05:33:24PM +0800, Yang Li wrote:
> Although the callers of this function only care about whether the
> return value is null or not, we should still give a rigorous
> error code.

Eh, I'm not sure I understand why this is important but, OK,
applying.--b.

>
> Smatch tool warning:
> net/sunrpc/auth_gss/svcauth_gss.c:784 gss_write_verf() warn: returning
> -1 instead of -ENOMEM is sloppy
>
> No functional change, just more standardized.
>
> Reported-by: Abaci Robot <[email protected]>
> Signed-off-by: Yang Li <[email protected]>
> ---
> net/sunrpc/auth_gss/svcauth_gss.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
> index 3e776e3..7dba6a9 100644
> --- a/net/sunrpc/auth_gss/svcauth_gss.c
> +++ b/net/sunrpc/auth_gss/svcauth_gss.c
> @@ -781,7 +781,7 @@ static inline u32 round_up_to_quad(u32 i)
> svc_putnl(rqstp->rq_res.head, RPC_AUTH_GSS);
> xdr_seq = kmalloc(4, GFP_KERNEL);
> if (!xdr_seq)
> - return -1;
> + return -ENOMEM;
> *xdr_seq = htonl(seq);
>
> iov.iov_base = xdr_seq;
> --
> 1.8.3.1