From: J.Bruce Fields <[email protected]>
The rpc reply has multiple levels of error returns. The code here
contributes to the confusion by using "accept_statp" for a pointer to what
the rfc (and wireshark, etc.) refer to as the "reply_stat". (The confusion
is compounded by the fact that the rfc also has an "accept_stat" which
follows the reply_stat in the succesful case.)
Signed-off-by: J. Bruce Fields <[email protected]>
Signed-off-by: Neil Brown <[email protected]>
### Diffstat output
./net/sunrpc/svc.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff .prev/net/sunrpc/svc.c ./net/sunrpc/svc.c
--- .prev/net/sunrpc/svc.c 2006-09-04 17:09:50.000000000 +1000
+++ ./net/sunrpc/svc.c 2006-09-04 17:15:35.000000000 +1000
@@ -699,7 +699,7 @@ svc_process(struct svc_rqst *rqstp)
u32 dir, prog, vers, proc,
auth_stat, rpc_stat;
int auth_res;
- u32 *accept_statp;
+ u32 *reply_statp;
rpc_stat = rpc_success;
@@ -740,7 +740,7 @@ svc_process(struct svc_rqst *rqstp)
goto err_bad_rpc;
/* Save position in case we later decide to reject: */
- accept_statp = resv->iov_base + resv->iov_len;
+ reply_statp = resv->iov_base + resv->iov_len;
svc_putu32(resv, xdr_zero); /* ACCEPT */
@@ -888,7 +888,7 @@ err_bad_auth:
dprintk("svc: authentication failed (%d)\n", ntohl(auth_stat));
serv->sv_stats->rpcbadauth++;
/* Restore write pointer to location of accept status: */
- xdr_ressize_check(rqstp, accept_statp);
+ xdr_ressize_check(rqstp, reply_statp);
svc_putu32(resv, xdr_one); /* REJECT */
svc_putu32(resv, xdr_one); /* AUTH_ERROR */
svc_putu32(resv, auth_stat); /* status */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]