]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
[PATCH] knfsd: rpc: fix server-side wrapping of krb5i replies
authorNeilBrown <neilb@suse.de>
Mon, 7 May 2007 00:35:21 +0000 (10:35 +1000)
committerChris Wright <chrisw@sous-sol.org>
Wed, 23 May 2007 21:32:44 +0000 (14:32 -0700)
It's not necessarily correct to assume that the xdr_buf used to hold the
server's reply must have page data whenever it has tail data.

And there's no need for us to deal with that case separately anyway.

Acked-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
net/sunrpc/auth_gss/svcauth_gss.c

index db298b501c817d1c0a90825aa526068293c59565..c678f5f461c654e860610ba13b80106fafc6f3a1 100644 (file)
@@ -1196,13 +1196,7 @@ svcauth_gss_wrap_resp_integ(struct svc_rqst *rqstp)
        if (xdr_buf_subsegment(resbuf, &integ_buf, integ_offset,
                                integ_len))
                BUG();
-       if (resbuf->page_len == 0
-                       && resbuf->head[0].iov_len + RPC_MAX_AUTH_SIZE
-                       < PAGE_SIZE) {
-               BUG_ON(resbuf->tail[0].iov_len);
-               /* Use head for everything */
-               resv = &resbuf->head[0];
-       } else if (resbuf->tail[0].iov_base == NULL) {
+       if (resbuf->tail[0].iov_base == NULL) {
                if (resbuf->head[0].iov_len + RPC_MAX_AUTH_SIZE > PAGE_SIZE)
                        goto out_err;
                resbuf->tail[0].iov_base = resbuf->head[0].iov_base