diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/sunrpc/svc.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h index 85cb6472a423..1bc7cd05b22e 100644 --- a/include/linux/sunrpc/svc.h +++ b/include/linux/sunrpc/svc.h | |||
| @@ -260,7 +260,10 @@ struct svc_rqst { | |||
| 260 | void * rq_argp; /* decoded arguments */ | 260 | void * rq_argp; /* decoded arguments */ |
| 261 | void * rq_resp; /* xdr'd results */ | 261 | void * rq_resp; /* xdr'd results */ |
| 262 | void * rq_auth_data; /* flavor-specific data */ | 262 | void * rq_auth_data; /* flavor-specific data */ |
| 263 | 263 | int rq_auth_slack; /* extra space xdr code | |
| 264 | * should leave in head | ||
| 265 | * for krb5i, krb5p. | ||
| 266 | */ | ||
| 264 | int rq_reserved; /* space on socket outq | 267 | int rq_reserved; /* space on socket outq |
| 265 | * reserved for this request | 268 | * reserved for this request |
| 266 | */ | 269 | */ |
| @@ -456,11 +459,7 @@ char * svc_print_addr(struct svc_rqst *, char *, size_t); | |||
| 456 | */ | 459 | */ |
| 457 | static inline void svc_reserve_auth(struct svc_rqst *rqstp, int space) | 460 | static inline void svc_reserve_auth(struct svc_rqst *rqstp, int space) |
| 458 | { | 461 | { |
| 459 | int added_space = 0; | 462 | svc_reserve(rqstp, space + rqstp->rq_auth_slack); |
| 460 | |||
| 461 | if (rqstp->rq_authop->flavour) | ||
| 462 | added_space = RPC_MAX_AUTH_SIZE; | ||
| 463 | svc_reserve(rqstp, space + added_space); | ||
| 464 | } | 463 | } |
| 465 | 464 | ||
| 466 | #endif /* SUNRPC_SVC_H */ | 465 | #endif /* SUNRPC_SVC_H */ |
