From: Trond Myklebust Date: Wed, 6 Sep 2023 01:03:28 +0000 (-0400) Subject: Revert "SUNRPC: Fail faster on bad verifier" X-Git-Tag: v6.1.61~868 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3494a0066d8a7baf236a471841d8a81cee969e15;p=platform%2Fkernel%2Flinux-starfive.git Revert "SUNRPC: Fail faster on bad verifier" commit e86fcf0820d914389b46658a5a7e8969c3af2d53 upstream. This reverts commit 0701214cd6e66585a999b132eb72ae0489beb724. The premise of this commit was incorrect. There are exactly 2 cases where rpcauth_checkverf() will return an error: 1) If there was an XDR decode problem (i.e. garbage data). 2) If gss_validate() had a problem verifying the RPCSEC_GSS MIC. In the second case, there are again 2 subcases: a) The GSS context expires, in which case gss_validate() will force a new context negotiation on retry by invalidating the cred. b) The sequence number check failed because an RPC call timed out, and the client retransmitted the request using a new sequence number, as required by RFC2203. In neither subcase is this a fatal error. Reported-by: Russell Cattelan Fixes: 0701214cd6e6 ("SUNRPC: Fail faster on bad verifier") Cc: stable@vger.kernel.org Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index d2ee566..b025850 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -2710,7 +2710,7 @@ out_unparsable: out_verifier: trace_rpc_bad_verifier(task); - goto out_err; + goto out_garbage; out_msg_denied: error = -EACCES;