SUNRPC: Remove the rpc_stat variable in svc_process_common()
authorChuck Lever <chuck.lever@oracle.com>
Sun, 8 Jan 2023 16:29:32 +0000 (11:29 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 20 Feb 2023 14:20:25 +0000 (09:20 -0500)
There's no RPC header field called rpc_stat; more precisely, the
variable appears to be recording an accept_stat value. But it looks
like we don't need to preserve this value at all, actually, so
simply remove the variable.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/svc.c

index 8da444cfcc4331213b964365395015dce65d7b35..7610e36e51e03e4a98c161cc17c352b023404a9f 100644 (file)
@@ -1232,12 +1232,9 @@ svc_process_common(struct svc_rqst *rqstp, struct kvec *resv)
        struct svc_serv         *serv = rqstp->rq_server;
        struct svc_process_info process;
        __be32                  *p, *statp;
-       __be32                  rpc_stat;
        int                     auth_res, rc;
        __be32                  *reply_statp;
 
-       rpc_stat = rpc_success;
-
        /* Will be turned off by GSS integrity and privacy services */
        set_bit(RQ_SPLICE_OK, &rqstp->rq_flags);
        /* Will be turned off only when NFSv4 Sessions are used */
@@ -1279,10 +1276,9 @@ svc_process_common(struct svc_rqst *rqstp, struct kvec *resv)
        case SVC_OK:
                break;
        case SVC_GARBAGE:
-               goto err_garbage;
+               goto err_garbage_args;
        case SVC_SYSERR:
-               rpc_stat = rpc_system_err;
-               goto err_bad;
+               goto err_system_err;
        case SVC_DENIED:
                goto err_bad_auth;
        case SVC_CLOSE:
@@ -1296,8 +1292,7 @@ svc_process_common(struct svc_rqst *rqstp, struct kvec *resv)
        if (progp == NULL)
                goto err_bad_prog;
 
-       rpc_stat = progp->pg_init_request(rqstp, progp, &process);
-       switch (rpc_stat) {
+       switch (progp->pg_init_request(rqstp, progp, &process)) {
        case rpc_success:
                break;
        case rpc_prog_unavail:
@@ -1408,13 +1403,16 @@ err_bad_proc:
        svc_putnl(resv, RPC_PROC_UNAVAIL);
        goto sendit;
 
-err_garbage:
-       svc_printk(rqstp, "failed to decode args\n");
+err_garbage_args:
+       svc_printk(rqstp, "failed to decode RPC header\n");
+
+       serv->sv_stats->rpcbadfmt++;
+       svc_putnl(resv, RPC_GARBAGE_ARGS);
+       goto sendit;
 
-       rpc_stat = rpc_garbage_args;
-err_bad:
+err_system_err:
        serv->sv_stats->rpcbadfmt++;
-       svc_putnl(resv, ntohl(rpc_stat));
+       svc_putnl(resv, RPC_SYSTEM_ERR);
        goto sendit;
 }