diff options
Diffstat (limited to 'net/sunrpc/auth_gss/auth_gss.c')
-rw-r--r-- | net/sunrpc/auth_gss/auth_gss.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 799e65b944b9..15612ffa8d57 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c | |||
@@ -740,7 +740,7 @@ gss_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) | |||
740 | default: | 740 | default: |
741 | printk(KERN_CRIT "%s: bad return from " | 741 | printk(KERN_CRIT "%s: bad return from " |
742 | "gss_fill_context: %zd\n", __func__, err); | 742 | "gss_fill_context: %zd\n", __func__, err); |
743 | BUG(); | 743 | gss_msg->msg.errno = -EIO; |
744 | } | 744 | } |
745 | goto err_release_msg; | 745 | goto err_release_msg; |
746 | } | 746 | } |
@@ -1181,12 +1181,12 @@ static struct rpc_auth * | |||
1181 | gss_create(struct rpc_auth_create_args *args, struct rpc_clnt *clnt) | 1181 | gss_create(struct rpc_auth_create_args *args, struct rpc_clnt *clnt) |
1182 | { | 1182 | { |
1183 | struct gss_auth *gss_auth; | 1183 | struct gss_auth *gss_auth; |
1184 | struct rpc_xprt *xprt = rcu_access_pointer(clnt->cl_xprt); | 1184 | struct rpc_xprt_switch *xps = rcu_access_pointer(clnt->cl_xpi.xpi_xpswitch); |
1185 | 1185 | ||
1186 | while (clnt != clnt->cl_parent) { | 1186 | while (clnt != clnt->cl_parent) { |
1187 | struct rpc_clnt *parent = clnt->cl_parent; | 1187 | struct rpc_clnt *parent = clnt->cl_parent; |
1188 | /* Find the original parent for this transport */ | 1188 | /* Find the original parent for this transport */ |
1189 | if (rcu_access_pointer(parent->cl_xprt) != xprt) | 1189 | if (rcu_access_pointer(parent->cl_xpi.xpi_xpswitch) != xps) |
1190 | break; | 1190 | break; |
1191 | clnt = parent; | 1191 | clnt = parent; |
1192 | } | 1192 | } |
@@ -1728,8 +1728,8 @@ alloc_enc_pages(struct rpc_rqst *rqstp) | |||
1728 | return 0; | 1728 | return 0; |
1729 | } | 1729 | } |
1730 | 1730 | ||
1731 | first = snd_buf->page_base >> PAGE_CACHE_SHIFT; | 1731 | first = snd_buf->page_base >> PAGE_SHIFT; |
1732 | last = (snd_buf->page_base + snd_buf->page_len - 1) >> PAGE_CACHE_SHIFT; | 1732 | last = (snd_buf->page_base + snd_buf->page_len - 1) >> PAGE_SHIFT; |
1733 | rqstp->rq_enc_pages_num = last - first + 1 + 1; | 1733 | rqstp->rq_enc_pages_num = last - first + 1 + 1; |
1734 | rqstp->rq_enc_pages | 1734 | rqstp->rq_enc_pages |
1735 | = kmalloc(rqstp->rq_enc_pages_num * sizeof(struct page *), | 1735 | = kmalloc(rqstp->rq_enc_pages_num * sizeof(struct page *), |
@@ -1775,10 +1775,10 @@ gss_wrap_req_priv(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | |||
1775 | status = alloc_enc_pages(rqstp); | 1775 | status = alloc_enc_pages(rqstp); |
1776 | if (status) | 1776 | if (status) |
1777 | return status; | 1777 | return status; |
1778 | first = snd_buf->page_base >> PAGE_CACHE_SHIFT; | 1778 | first = snd_buf->page_base >> PAGE_SHIFT; |
1779 | inpages = snd_buf->pages + first; | 1779 | inpages = snd_buf->pages + first; |
1780 | snd_buf->pages = rqstp->rq_enc_pages; | 1780 | snd_buf->pages = rqstp->rq_enc_pages; |
1781 | snd_buf->page_base -= first << PAGE_CACHE_SHIFT; | 1781 | snd_buf->page_base -= first << PAGE_SHIFT; |
1782 | /* | 1782 | /* |
1783 | * Give the tail its own page, in case we need extra space in the | 1783 | * Give the tail its own page, in case we need extra space in the |
1784 | * head when wrapping: | 1784 | * head when wrapping: |