diff options
Diffstat (limited to 'net/sunrpc')
-rw-r--r-- | net/sunrpc/auth.c | 12 | ||||
-rw-r--r-- | net/sunrpc/auth_gss/auth_gss.c | 33 | ||||
-rw-r--r-- | net/sunrpc/auth_gss/gss_krb5_seal.c | 2 | ||||
-rw-r--r-- | net/sunrpc/auth_gss/gss_krb5_wrap.c | 4 | ||||
-rw-r--r-- | net/sunrpc/auth_gss/svcauth_gss.c | 82 | ||||
-rw-r--r-- | net/sunrpc/auth_null.c | 8 | ||||
-rw-r--r-- | net/sunrpc/auth_unix.c | 10 | ||||
-rw-r--r-- | net/sunrpc/clnt.c | 23 | ||||
-rw-r--r-- | net/sunrpc/pmap_clnt.c | 6 | ||||
-rw-r--r-- | net/sunrpc/svc.c | 52 | ||||
-rw-r--r-- | net/sunrpc/svcauth.c | 4 | ||||
-rw-r--r-- | net/sunrpc/svcauth_unix.c | 38 | ||||
-rw-r--r-- | net/sunrpc/svcsock.c | 16 | ||||
-rw-r--r-- | net/sunrpc/xdr.c | 54 | ||||
-rw-r--r-- | net/sunrpc/xprt.c | 4 | ||||
-rw-r--r-- | net/sunrpc/xprtsock.c | 3 |
16 files changed, 176 insertions, 175 deletions
diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index 55163af3dcaf..993ff1a5d945 100644 --- a/net/sunrpc/auth.c +++ b/net/sunrpc/auth.c | |||
@@ -331,8 +331,8 @@ rpcauth_unbindcred(struct rpc_task *task) | |||
331 | task->tk_msg.rpc_cred = NULL; | 331 | task->tk_msg.rpc_cred = NULL; |
332 | } | 332 | } |
333 | 333 | ||
334 | u32 * | 334 | __be32 * |
335 | rpcauth_marshcred(struct rpc_task *task, u32 *p) | 335 | rpcauth_marshcred(struct rpc_task *task, __be32 *p) |
336 | { | 336 | { |
337 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 337 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
338 | 338 | ||
@@ -342,8 +342,8 @@ rpcauth_marshcred(struct rpc_task *task, u32 *p) | |||
342 | return cred->cr_ops->crmarshal(task, p); | 342 | return cred->cr_ops->crmarshal(task, p); |
343 | } | 343 | } |
344 | 344 | ||
345 | u32 * | 345 | __be32 * |
346 | rpcauth_checkverf(struct rpc_task *task, u32 *p) | 346 | rpcauth_checkverf(struct rpc_task *task, __be32 *p) |
347 | { | 347 | { |
348 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 348 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
349 | 349 | ||
@@ -355,7 +355,7 @@ rpcauth_checkverf(struct rpc_task *task, u32 *p) | |||
355 | 355 | ||
356 | int | 356 | int |
357 | rpcauth_wrap_req(struct rpc_task *task, kxdrproc_t encode, void *rqstp, | 357 | rpcauth_wrap_req(struct rpc_task *task, kxdrproc_t encode, void *rqstp, |
358 | u32 *data, void *obj) | 358 | __be32 *data, void *obj) |
359 | { | 359 | { |
360 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 360 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
361 | 361 | ||
@@ -369,7 +369,7 @@ rpcauth_wrap_req(struct rpc_task *task, kxdrproc_t encode, void *rqstp, | |||
369 | 369 | ||
370 | int | 370 | int |
371 | rpcauth_unwrap_resp(struct rpc_task *task, kxdrproc_t decode, void *rqstp, | 371 | rpcauth_unwrap_resp(struct rpc_task *task, kxdrproc_t decode, void *rqstp, |
372 | u32 *data, void *obj) | 372 | __be32 *data, void *obj) |
373 | { | 373 | { |
374 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 374 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
375 | 375 | ||
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 6eed3e166ba3..a6ed2d22a6e6 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c | |||
@@ -826,14 +826,14 @@ out: | |||
826 | * Marshal credentials. | 826 | * Marshal credentials. |
827 | * Maybe we should keep a cached credential for performance reasons. | 827 | * Maybe we should keep a cached credential for performance reasons. |
828 | */ | 828 | */ |
829 | static u32 * | 829 | static __be32 * |
830 | gss_marshal(struct rpc_task *task, u32 *p) | 830 | gss_marshal(struct rpc_task *task, __be32 *p) |
831 | { | 831 | { |
832 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 832 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
833 | struct gss_cred *gss_cred = container_of(cred, struct gss_cred, | 833 | struct gss_cred *gss_cred = container_of(cred, struct gss_cred, |
834 | gc_base); | 834 | gc_base); |
835 | struct gss_cl_ctx *ctx = gss_cred_get_ctx(cred); | 835 | struct gss_cl_ctx *ctx = gss_cred_get_ctx(cred); |
836 | u32 *cred_len; | 836 | __be32 *cred_len; |
837 | struct rpc_rqst *req = task->tk_rqstp; | 837 | struct rpc_rqst *req = task->tk_rqstp; |
838 | u32 maj_stat = 0; | 838 | u32 maj_stat = 0; |
839 | struct xdr_netobj mic; | 839 | struct xdr_netobj mic; |
@@ -894,12 +894,12 @@ gss_refresh(struct rpc_task *task) | |||
894 | return 0; | 894 | return 0; |
895 | } | 895 | } |
896 | 896 | ||
897 | static u32 * | 897 | static __be32 * |
898 | gss_validate(struct rpc_task *task, u32 *p) | 898 | gss_validate(struct rpc_task *task, __be32 *p) |
899 | { | 899 | { |
900 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 900 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
901 | struct gss_cl_ctx *ctx = gss_cred_get_ctx(cred); | 901 | struct gss_cl_ctx *ctx = gss_cred_get_ctx(cred); |
902 | u32 seq; | 902 | __be32 seq; |
903 | struct kvec iov; | 903 | struct kvec iov; |
904 | struct xdr_buf verf_buf; | 904 | struct xdr_buf verf_buf; |
905 | struct xdr_netobj mic; | 905 | struct xdr_netobj mic; |
@@ -940,13 +940,14 @@ out_bad: | |||
940 | 940 | ||
941 | static inline int | 941 | static inline int |
942 | gss_wrap_req_integ(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | 942 | gss_wrap_req_integ(struct rpc_cred *cred, struct gss_cl_ctx *ctx, |
943 | kxdrproc_t encode, struct rpc_rqst *rqstp, u32 *p, void *obj) | 943 | kxdrproc_t encode, struct rpc_rqst *rqstp, __be32 *p, void *obj) |
944 | { | 944 | { |
945 | struct xdr_buf *snd_buf = &rqstp->rq_snd_buf; | 945 | struct xdr_buf *snd_buf = &rqstp->rq_snd_buf; |
946 | struct xdr_buf integ_buf; | 946 | struct xdr_buf integ_buf; |
947 | u32 *integ_len = NULL; | 947 | __be32 *integ_len = NULL; |
948 | struct xdr_netobj mic; | 948 | struct xdr_netobj mic; |
949 | u32 offset, *q; | 949 | u32 offset; |
950 | __be32 *q; | ||
950 | struct kvec *iov; | 951 | struct kvec *iov; |
951 | u32 maj_stat = 0; | 952 | u32 maj_stat = 0; |
952 | int status = -EIO; | 953 | int status = -EIO; |
@@ -1032,13 +1033,13 @@ out: | |||
1032 | 1033 | ||
1033 | static inline int | 1034 | static inline int |
1034 | gss_wrap_req_priv(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | 1035 | gss_wrap_req_priv(struct rpc_cred *cred, struct gss_cl_ctx *ctx, |
1035 | kxdrproc_t encode, struct rpc_rqst *rqstp, u32 *p, void *obj) | 1036 | kxdrproc_t encode, struct rpc_rqst *rqstp, __be32 *p, void *obj) |
1036 | { | 1037 | { |
1037 | struct xdr_buf *snd_buf = &rqstp->rq_snd_buf; | 1038 | struct xdr_buf *snd_buf = &rqstp->rq_snd_buf; |
1038 | u32 offset; | 1039 | u32 offset; |
1039 | u32 maj_stat; | 1040 | u32 maj_stat; |
1040 | int status; | 1041 | int status; |
1041 | u32 *opaque_len; | 1042 | __be32 *opaque_len; |
1042 | struct page **inpages; | 1043 | struct page **inpages; |
1043 | int first; | 1044 | int first; |
1044 | int pad; | 1045 | int pad; |
@@ -1095,7 +1096,7 @@ gss_wrap_req_priv(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | |||
1095 | 1096 | ||
1096 | static int | 1097 | static int |
1097 | gss_wrap_req(struct rpc_task *task, | 1098 | gss_wrap_req(struct rpc_task *task, |
1098 | kxdrproc_t encode, void *rqstp, u32 *p, void *obj) | 1099 | kxdrproc_t encode, void *rqstp, __be32 *p, void *obj) |
1099 | { | 1100 | { |
1100 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 1101 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
1101 | struct gss_cred *gss_cred = container_of(cred, struct gss_cred, | 1102 | struct gss_cred *gss_cred = container_of(cred, struct gss_cred, |
@@ -1132,7 +1133,7 @@ out: | |||
1132 | 1133 | ||
1133 | static inline int | 1134 | static inline int |
1134 | gss_unwrap_resp_integ(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | 1135 | gss_unwrap_resp_integ(struct rpc_cred *cred, struct gss_cl_ctx *ctx, |
1135 | struct rpc_rqst *rqstp, u32 **p) | 1136 | struct rpc_rqst *rqstp, __be32 **p) |
1136 | { | 1137 | { |
1137 | struct xdr_buf *rcv_buf = &rqstp->rq_rcv_buf; | 1138 | struct xdr_buf *rcv_buf = &rqstp->rq_rcv_buf; |
1138 | struct xdr_buf integ_buf; | 1139 | struct xdr_buf integ_buf; |
@@ -1169,7 +1170,7 @@ gss_unwrap_resp_integ(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | |||
1169 | 1170 | ||
1170 | static inline int | 1171 | static inline int |
1171 | gss_unwrap_resp_priv(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | 1172 | gss_unwrap_resp_priv(struct rpc_cred *cred, struct gss_cl_ctx *ctx, |
1172 | struct rpc_rqst *rqstp, u32 **p) | 1173 | struct rpc_rqst *rqstp, __be32 **p) |
1173 | { | 1174 | { |
1174 | struct xdr_buf *rcv_buf = &rqstp->rq_rcv_buf; | 1175 | struct xdr_buf *rcv_buf = &rqstp->rq_rcv_buf; |
1175 | u32 offset; | 1176 | u32 offset; |
@@ -1198,13 +1199,13 @@ gss_unwrap_resp_priv(struct rpc_cred *cred, struct gss_cl_ctx *ctx, | |||
1198 | 1199 | ||
1199 | static int | 1200 | static int |
1200 | gss_unwrap_resp(struct rpc_task *task, | 1201 | gss_unwrap_resp(struct rpc_task *task, |
1201 | kxdrproc_t decode, void *rqstp, u32 *p, void *obj) | 1202 | kxdrproc_t decode, void *rqstp, __be32 *p, void *obj) |
1202 | { | 1203 | { |
1203 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 1204 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
1204 | struct gss_cred *gss_cred = container_of(cred, struct gss_cred, | 1205 | struct gss_cred *gss_cred = container_of(cred, struct gss_cred, |
1205 | gc_base); | 1206 | gc_base); |
1206 | struct gss_cl_ctx *ctx = gss_cred_get_ctx(cred); | 1207 | struct gss_cl_ctx *ctx = gss_cred_get_ctx(cred); |
1207 | u32 *savedp = p; | 1208 | __be32 *savedp = p; |
1208 | struct kvec *head = ((struct rpc_rqst *)rqstp)->rq_rcv_buf.head; | 1209 | struct kvec *head = ((struct rpc_rqst *)rqstp)->rq_rcv_buf.head; |
1209 | int savedlen = head->iov_len; | 1210 | int savedlen = head->iov_len; |
1210 | int status = -EIO; | 1211 | int status = -EIO; |
diff --git a/net/sunrpc/auth_gss/gss_krb5_seal.c b/net/sunrpc/auth_gss/gss_krb5_seal.c index 2f312164d6d5..08601ee4cd73 100644 --- a/net/sunrpc/auth_gss/gss_krb5_seal.c +++ b/net/sunrpc/auth_gss/gss_krb5_seal.c | |||
@@ -115,7 +115,7 @@ gss_get_mic_kerberos(struct gss_ctx *gss_ctx, struct xdr_buf *text, | |||
115 | krb5_hdr = ptr - 2; | 115 | krb5_hdr = ptr - 2; |
116 | msg_start = krb5_hdr + 24; | 116 | msg_start = krb5_hdr + 24; |
117 | 117 | ||
118 | *(u16 *)(krb5_hdr + 2) = htons(ctx->signalg); | 118 | *(__be16 *)(krb5_hdr + 2) = htons(ctx->signalg); |
119 | memset(krb5_hdr + 4, 0xff, 4); | 119 | memset(krb5_hdr + 4, 0xff, 4); |
120 | 120 | ||
121 | if (make_checksum(checksum_type, krb5_hdr, 8, text, 0, &md5cksum)) | 121 | if (make_checksum(checksum_type, krb5_hdr, 8, text, 0, &md5cksum)) |
diff --git a/net/sunrpc/auth_gss/gss_krb5_wrap.c b/net/sunrpc/auth_gss/gss_krb5_wrap.c index f179415d0c38..cc45c1605f80 100644 --- a/net/sunrpc/auth_gss/gss_krb5_wrap.c +++ b/net/sunrpc/auth_gss/gss_krb5_wrap.c | |||
@@ -177,9 +177,9 @@ gss_wrap_kerberos(struct gss_ctx *ctx, int offset, | |||
177 | msg_start = krb5_hdr + 24; | 177 | msg_start = krb5_hdr + 24; |
178 | /* XXXJBF: */ BUG_ON(buf->head[0].iov_base + offset + headlen != msg_start + blocksize); | 178 | /* XXXJBF: */ BUG_ON(buf->head[0].iov_base + offset + headlen != msg_start + blocksize); |
179 | 179 | ||
180 | *(u16 *)(krb5_hdr + 2) = htons(kctx->signalg); | 180 | *(__be16 *)(krb5_hdr + 2) = htons(kctx->signalg); |
181 | memset(krb5_hdr + 4, 0xff, 4); | 181 | memset(krb5_hdr + 4, 0xff, 4); |
182 | *(u16 *)(krb5_hdr + 4) = htons(kctx->sealalg); | 182 | *(__be16 *)(krb5_hdr + 4) = htons(kctx->sealalg); |
183 | 183 | ||
184 | make_confounder(msg_start, blocksize); | 184 | make_confounder(msg_start, blocksize); |
185 | 185 | ||
diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c index 94217ec9e2dd..638c0b576203 100644 --- a/net/sunrpc/auth_gss/svcauth_gss.c +++ b/net/sunrpc/auth_gss/svcauth_gss.c | |||
@@ -607,7 +607,7 @@ svc_safe_getnetobj(struct kvec *argv, struct xdr_netobj *o) | |||
607 | 607 | ||
608 | if (argv->iov_len < 4) | 608 | if (argv->iov_len < 4) |
609 | return -1; | 609 | return -1; |
610 | o->len = ntohl(svc_getu32(argv)); | 610 | o->len = svc_getnl(argv); |
611 | l = round_up_to_quad(o->len); | 611 | l = round_up_to_quad(o->len); |
612 | if (argv->iov_len < l) | 612 | if (argv->iov_len < l) |
613 | return -1; | 613 | return -1; |
@@ -620,17 +620,17 @@ svc_safe_getnetobj(struct kvec *argv, struct xdr_netobj *o) | |||
620 | static inline int | 620 | static inline int |
621 | svc_safe_putnetobj(struct kvec *resv, struct xdr_netobj *o) | 621 | svc_safe_putnetobj(struct kvec *resv, struct xdr_netobj *o) |
622 | { | 622 | { |
623 | u32 *p; | 623 | u8 *p; |
624 | 624 | ||
625 | if (resv->iov_len + 4 > PAGE_SIZE) | 625 | if (resv->iov_len + 4 > PAGE_SIZE) |
626 | return -1; | 626 | return -1; |
627 | svc_putu32(resv, htonl(o->len)); | 627 | svc_putnl(resv, o->len); |
628 | p = resv->iov_base + resv->iov_len; | 628 | p = resv->iov_base + resv->iov_len; |
629 | resv->iov_len += round_up_to_quad(o->len); | 629 | resv->iov_len += round_up_to_quad(o->len); |
630 | if (resv->iov_len > PAGE_SIZE) | 630 | if (resv->iov_len > PAGE_SIZE) |
631 | return -1; | 631 | return -1; |
632 | memcpy(p, o->data, o->len); | 632 | memcpy(p, o->data, o->len); |
633 | memset((u8 *)p + o->len, 0, round_up_to_quad(o->len) - o->len); | 633 | memset(p + o->len, 0, round_up_to_quad(o->len) - o->len); |
634 | return 0; | 634 | return 0; |
635 | } | 635 | } |
636 | 636 | ||
@@ -640,7 +640,7 @@ svc_safe_putnetobj(struct kvec *resv, struct xdr_netobj *o) | |||
640 | */ | 640 | */ |
641 | static int | 641 | static int |
642 | gss_verify_header(struct svc_rqst *rqstp, struct rsc *rsci, | 642 | gss_verify_header(struct svc_rqst *rqstp, struct rsc *rsci, |
643 | u32 *rpcstart, struct rpc_gss_wire_cred *gc, u32 *authp) | 643 | __be32 *rpcstart, struct rpc_gss_wire_cred *gc, __be32 *authp) |
644 | { | 644 | { |
645 | struct gss_ctx *ctx_id = rsci->mechctx; | 645 | struct gss_ctx *ctx_id = rsci->mechctx; |
646 | struct xdr_buf rpchdr; | 646 | struct xdr_buf rpchdr; |
@@ -657,7 +657,7 @@ gss_verify_header(struct svc_rqst *rqstp, struct rsc *rsci, | |||
657 | *authp = rpc_autherr_badverf; | 657 | *authp = rpc_autherr_badverf; |
658 | if (argv->iov_len < 4) | 658 | if (argv->iov_len < 4) |
659 | return SVC_DENIED; | 659 | return SVC_DENIED; |
660 | flavor = ntohl(svc_getu32(argv)); | 660 | flavor = svc_getnl(argv); |
661 | if (flavor != RPC_AUTH_GSS) | 661 | if (flavor != RPC_AUTH_GSS) |
662 | return SVC_DENIED; | 662 | return SVC_DENIED; |
663 | if (svc_safe_getnetobj(argv, &checksum)) | 663 | if (svc_safe_getnetobj(argv, &checksum)) |
@@ -687,9 +687,9 @@ gss_verify_header(struct svc_rqst *rqstp, struct rsc *rsci, | |||
687 | static int | 687 | static int |
688 | gss_write_null_verf(struct svc_rqst *rqstp) | 688 | gss_write_null_verf(struct svc_rqst *rqstp) |
689 | { | 689 | { |
690 | u32 *p; | 690 | __be32 *p; |
691 | 691 | ||
692 | svc_putu32(rqstp->rq_res.head, htonl(RPC_AUTH_NULL)); | 692 | svc_putnl(rqstp->rq_res.head, RPC_AUTH_NULL); |
693 | p = rqstp->rq_res.head->iov_base + rqstp->rq_res.head->iov_len; | 693 | p = rqstp->rq_res.head->iov_base + rqstp->rq_res.head->iov_len; |
694 | /* don't really need to check if head->iov_len > PAGE_SIZE ... */ | 694 | /* don't really need to check if head->iov_len > PAGE_SIZE ... */ |
695 | *p++ = 0; | 695 | *p++ = 0; |
@@ -701,14 +701,14 @@ gss_write_null_verf(struct svc_rqst *rqstp) | |||
701 | static int | 701 | static int |
702 | gss_write_verf(struct svc_rqst *rqstp, struct gss_ctx *ctx_id, u32 seq) | 702 | gss_write_verf(struct svc_rqst *rqstp, struct gss_ctx *ctx_id, u32 seq) |
703 | { | 703 | { |
704 | u32 xdr_seq; | 704 | __be32 xdr_seq; |
705 | u32 maj_stat; | 705 | u32 maj_stat; |
706 | struct xdr_buf verf_data; | 706 | struct xdr_buf verf_data; |
707 | struct xdr_netobj mic; | 707 | struct xdr_netobj mic; |
708 | u32 *p; | 708 | __be32 *p; |
709 | struct kvec iov; | 709 | struct kvec iov; |
710 | 710 | ||
711 | svc_putu32(rqstp->rq_res.head, htonl(RPC_AUTH_GSS)); | 711 | svc_putnl(rqstp->rq_res.head, RPC_AUTH_GSS); |
712 | xdr_seq = htonl(seq); | 712 | xdr_seq = htonl(seq); |
713 | 713 | ||
714 | iov.iov_base = &xdr_seq; | 714 | iov.iov_base = &xdr_seq; |
@@ -782,7 +782,7 @@ EXPORT_SYMBOL(svcauth_gss_register_pseudoflavor); | |||
782 | static inline int | 782 | static inline int |
783 | read_u32_from_xdr_buf(struct xdr_buf *buf, int base, u32 *obj) | 783 | read_u32_from_xdr_buf(struct xdr_buf *buf, int base, u32 *obj) |
784 | { | 784 | { |
785 | u32 raw; | 785 | __be32 raw; |
786 | int status; | 786 | int status; |
787 | 787 | ||
788 | status = read_bytes_from_xdr_buf(buf, base, &raw, sizeof(*obj)); | 788 | status = read_bytes_from_xdr_buf(buf, base, &raw, sizeof(*obj)); |
@@ -805,7 +805,7 @@ unwrap_integ_data(struct xdr_buf *buf, u32 seq, struct gss_ctx *ctx) | |||
805 | struct xdr_netobj mic; | 805 | struct xdr_netobj mic; |
806 | struct xdr_buf integ_buf; | 806 | struct xdr_buf integ_buf; |
807 | 807 | ||
808 | integ_len = ntohl(svc_getu32(&buf->head[0])); | 808 | integ_len = svc_getnl(&buf->head[0]); |
809 | if (integ_len & 3) | 809 | if (integ_len & 3) |
810 | goto out; | 810 | goto out; |
811 | if (integ_len > buf->len) | 811 | if (integ_len > buf->len) |
@@ -825,7 +825,7 @@ unwrap_integ_data(struct xdr_buf *buf, u32 seq, struct gss_ctx *ctx) | |||
825 | maj_stat = gss_verify_mic(ctx, &integ_buf, &mic); | 825 | maj_stat = gss_verify_mic(ctx, &integ_buf, &mic); |
826 | if (maj_stat != GSS_S_COMPLETE) | 826 | if (maj_stat != GSS_S_COMPLETE) |
827 | goto out; | 827 | goto out; |
828 | if (ntohl(svc_getu32(&buf->head[0])) != seq) | 828 | if (svc_getnl(&buf->head[0]) != seq) |
829 | goto out; | 829 | goto out; |
830 | stat = 0; | 830 | stat = 0; |
831 | out: | 831 | out: |
@@ -857,7 +857,7 @@ unwrap_priv_data(struct svc_rqst *rqstp, struct xdr_buf *buf, u32 seq, struct gs | |||
857 | 857 | ||
858 | rqstp->rq_sendfile_ok = 0; | 858 | rqstp->rq_sendfile_ok = 0; |
859 | 859 | ||
860 | priv_len = ntohl(svc_getu32(&buf->head[0])); | 860 | priv_len = svc_getnl(&buf->head[0]); |
861 | if (rqstp->rq_deferred) { | 861 | if (rqstp->rq_deferred) { |
862 | /* Already decrypted last time through! The sequence number | 862 | /* Already decrypted last time through! The sequence number |
863 | * check at out_seq is unnecessary but harmless: */ | 863 | * check at out_seq is unnecessary but harmless: */ |
@@ -895,7 +895,7 @@ unwrap_priv_data(struct svc_rqst *rqstp, struct xdr_buf *buf, u32 seq, struct gs | |||
895 | if (maj_stat != GSS_S_COMPLETE) | 895 | if (maj_stat != GSS_S_COMPLETE) |
896 | return -EINVAL; | 896 | return -EINVAL; |
897 | out_seq: | 897 | out_seq: |
898 | if (ntohl(svc_getu32(&buf->head[0])) != seq) | 898 | if (svc_getnl(&buf->head[0]) != seq) |
899 | return -EINVAL; | 899 | return -EINVAL; |
900 | return 0; | 900 | return 0; |
901 | } | 901 | } |
@@ -905,7 +905,7 @@ struct gss_svc_data { | |||
905 | struct rpc_gss_wire_cred clcred; | 905 | struct rpc_gss_wire_cred clcred; |
906 | /* pointer to the beginning of the procedure-specific results, | 906 | /* pointer to the beginning of the procedure-specific results, |
907 | * which may be encrypted/checksummed in svcauth_gss_release: */ | 907 | * which may be encrypted/checksummed in svcauth_gss_release: */ |
908 | u32 *body_start; | 908 | __be32 *body_start; |
909 | struct rsc *rsci; | 909 | struct rsc *rsci; |
910 | }; | 910 | }; |
911 | 911 | ||
@@ -946,7 +946,7 @@ gss_write_init_verf(struct svc_rqst *rqstp, struct rsi *rsip) | |||
946 | * response here and return SVC_COMPLETE. | 946 | * response here and return SVC_COMPLETE. |
947 | */ | 947 | */ |
948 | static int | 948 | static int |
949 | svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | 949 | svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp) |
950 | { | 950 | { |
951 | struct kvec *argv = &rqstp->rq_arg.head[0]; | 951 | struct kvec *argv = &rqstp->rq_arg.head[0]; |
952 | struct kvec *resv = &rqstp->rq_res.head[0]; | 952 | struct kvec *resv = &rqstp->rq_res.head[0]; |
@@ -956,8 +956,8 @@ svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | |||
956 | struct rpc_gss_wire_cred *gc; | 956 | struct rpc_gss_wire_cred *gc; |
957 | struct rsc *rsci = NULL; | 957 | struct rsc *rsci = NULL; |
958 | struct rsi *rsip, rsikey; | 958 | struct rsi *rsip, rsikey; |
959 | u32 *rpcstart; | 959 | __be32 *rpcstart; |
960 | u32 *reject_stat = resv->iov_base + resv->iov_len; | 960 | __be32 *reject_stat = resv->iov_base + resv->iov_len; |
961 | int ret; | 961 | int ret; |
962 | 962 | ||
963 | dprintk("RPC: svcauth_gss: argv->iov_len = %zd\n",argv->iov_len); | 963 | dprintk("RPC: svcauth_gss: argv->iov_len = %zd\n",argv->iov_len); |
@@ -985,12 +985,12 @@ svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | |||
985 | 985 | ||
986 | if (argv->iov_len < 5 * 4) | 986 | if (argv->iov_len < 5 * 4) |
987 | goto auth_err; | 987 | goto auth_err; |
988 | crlen = ntohl(svc_getu32(argv)); | 988 | crlen = svc_getnl(argv); |
989 | if (ntohl(svc_getu32(argv)) != RPC_GSS_VERSION) | 989 | if (svc_getnl(argv) != RPC_GSS_VERSION) |
990 | goto auth_err; | 990 | goto auth_err; |
991 | gc->gc_proc = ntohl(svc_getu32(argv)); | 991 | gc->gc_proc = svc_getnl(argv); |
992 | gc->gc_seq = ntohl(svc_getu32(argv)); | 992 | gc->gc_seq = svc_getnl(argv); |
993 | gc->gc_svc = ntohl(svc_getu32(argv)); | 993 | gc->gc_svc = svc_getnl(argv); |
994 | if (svc_safe_getnetobj(argv, &gc->gc_ctx)) | 994 | if (svc_safe_getnetobj(argv, &gc->gc_ctx)) |
995 | goto auth_err; | 995 | goto auth_err; |
996 | if (crlen != round_up_to_quad(gc->gc_ctx.len) + 5 * 4) | 996 | if (crlen != round_up_to_quad(gc->gc_ctx.len) + 5 * 4) |
@@ -1016,9 +1016,9 @@ svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | |||
1016 | case RPC_GSS_PROC_CONTINUE_INIT: | 1016 | case RPC_GSS_PROC_CONTINUE_INIT: |
1017 | if (argv->iov_len < 2 * 4) | 1017 | if (argv->iov_len < 2 * 4) |
1018 | goto auth_err; | 1018 | goto auth_err; |
1019 | if (ntohl(svc_getu32(argv)) != RPC_AUTH_NULL) | 1019 | if (svc_getnl(argv) != RPC_AUTH_NULL) |
1020 | goto auth_err; | 1020 | goto auth_err; |
1021 | if (ntohl(svc_getu32(argv)) != 0) | 1021 | if (svc_getnl(argv) != 0) |
1022 | goto auth_err; | 1022 | goto auth_err; |
1023 | break; | 1023 | break; |
1024 | case RPC_GSS_PROC_DATA: | 1024 | case RPC_GSS_PROC_DATA: |
@@ -1076,14 +1076,14 @@ svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | |||
1076 | goto drop; | 1076 | goto drop; |
1077 | if (resv->iov_len + 4 > PAGE_SIZE) | 1077 | if (resv->iov_len + 4 > PAGE_SIZE) |
1078 | goto drop; | 1078 | goto drop; |
1079 | svc_putu32(resv, rpc_success); | 1079 | svc_putnl(resv, RPC_SUCCESS); |
1080 | if (svc_safe_putnetobj(resv, &rsip->out_handle)) | 1080 | if (svc_safe_putnetobj(resv, &rsip->out_handle)) |
1081 | goto drop; | 1081 | goto drop; |
1082 | if (resv->iov_len + 3 * 4 > PAGE_SIZE) | 1082 | if (resv->iov_len + 3 * 4 > PAGE_SIZE) |
1083 | goto drop; | 1083 | goto drop; |
1084 | svc_putu32(resv, htonl(rsip->major_status)); | 1084 | svc_putnl(resv, rsip->major_status); |
1085 | svc_putu32(resv, htonl(rsip->minor_status)); | 1085 | svc_putnl(resv, rsip->minor_status); |
1086 | svc_putu32(resv, htonl(GSS_SEQ_WIN)); | 1086 | svc_putnl(resv, GSS_SEQ_WIN); |
1087 | if (svc_safe_putnetobj(resv, &rsip->out_token)) | 1087 | if (svc_safe_putnetobj(resv, &rsip->out_token)) |
1088 | goto drop; | 1088 | goto drop; |
1089 | rqstp->rq_client = NULL; | 1089 | rqstp->rq_client = NULL; |
@@ -1093,7 +1093,7 @@ svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | |||
1093 | set_bit(CACHE_NEGATIVE, &rsci->h.flags); | 1093 | set_bit(CACHE_NEGATIVE, &rsci->h.flags); |
1094 | if (resv->iov_len + 4 > PAGE_SIZE) | 1094 | if (resv->iov_len + 4 > PAGE_SIZE) |
1095 | goto drop; | 1095 | goto drop; |
1096 | svc_putu32(resv, rpc_success); | 1096 | svc_putnl(resv, RPC_SUCCESS); |
1097 | goto complete; | 1097 | goto complete; |
1098 | case RPC_GSS_PROC_DATA: | 1098 | case RPC_GSS_PROC_DATA: |
1099 | *authp = rpcsec_gsserr_ctxproblem; | 1099 | *authp = rpcsec_gsserr_ctxproblem; |
@@ -1111,8 +1111,8 @@ svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | |||
1111 | goto auth_err; | 1111 | goto auth_err; |
1112 | /* placeholders for length and seq. number: */ | 1112 | /* placeholders for length and seq. number: */ |
1113 | svcdata->body_start = resv->iov_base + resv->iov_len; | 1113 | svcdata->body_start = resv->iov_base + resv->iov_len; |
1114 | svc_putu32(resv, 0); | 1114 | svc_putnl(resv, 0); |
1115 | svc_putu32(resv, 0); | 1115 | svc_putnl(resv, 0); |
1116 | break; | 1116 | break; |
1117 | case RPC_GSS_SVC_PRIVACY: | 1117 | case RPC_GSS_SVC_PRIVACY: |
1118 | if (unwrap_priv_data(rqstp, &rqstp->rq_arg, | 1118 | if (unwrap_priv_data(rqstp, &rqstp->rq_arg, |
@@ -1120,8 +1120,8 @@ svcauth_gss_accept(struct svc_rqst *rqstp, u32 *authp) | |||
1120 | goto auth_err; | 1120 | goto auth_err; |
1121 | /* placeholders for length and seq. number: */ | 1121 | /* placeholders for length and seq. number: */ |
1122 | svcdata->body_start = resv->iov_base + resv->iov_len; | 1122 | svcdata->body_start = resv->iov_base + resv->iov_len; |
1123 | svc_putu32(resv, 0); | 1123 | svc_putnl(resv, 0); |
1124 | svc_putu32(resv, 0); | 1124 | svc_putnl(resv, 0); |
1125 | break; | 1125 | break; |
1126 | default: | 1126 | default: |
1127 | goto auth_err; | 1127 | goto auth_err; |
@@ -1156,7 +1156,7 @@ svcauth_gss_wrap_resp_integ(struct svc_rqst *rqstp) | |||
1156 | struct xdr_buf integ_buf; | 1156 | struct xdr_buf integ_buf; |
1157 | struct xdr_netobj mic; | 1157 | struct xdr_netobj mic; |
1158 | struct kvec *resv; | 1158 | struct kvec *resv; |
1159 | u32 *p; | 1159 | __be32 *p; |
1160 | int integ_offset, integ_len; | 1160 | int integ_offset, integ_len; |
1161 | int stat = -EINVAL; | 1161 | int stat = -EINVAL; |
1162 | 1162 | ||
@@ -1199,7 +1199,7 @@ svcauth_gss_wrap_resp_integ(struct svc_rqst *rqstp) | |||
1199 | mic.data = (u8 *)resv->iov_base + resv->iov_len + 4; | 1199 | mic.data = (u8 *)resv->iov_base + resv->iov_len + 4; |
1200 | if (gss_get_mic(gsd->rsci->mechctx, &integ_buf, &mic)) | 1200 | if (gss_get_mic(gsd->rsci->mechctx, &integ_buf, &mic)) |
1201 | goto out_err; | 1201 | goto out_err; |
1202 | svc_putu32(resv, htonl(mic.len)); | 1202 | svc_putnl(resv, mic.len); |
1203 | memset(mic.data + mic.len, 0, | 1203 | memset(mic.data + mic.len, 0, |
1204 | round_up_to_quad(mic.len) - mic.len); | 1204 | round_up_to_quad(mic.len) - mic.len); |
1205 | resv->iov_len += XDR_QUADLEN(mic.len) << 2; | 1205 | resv->iov_len += XDR_QUADLEN(mic.len) << 2; |
@@ -1219,8 +1219,8 @@ svcauth_gss_wrap_resp_priv(struct svc_rqst *rqstp) | |||
1219 | struct rpc_gss_wire_cred *gc = &gsd->clcred; | 1219 | struct rpc_gss_wire_cred *gc = &gsd->clcred; |
1220 | struct xdr_buf *resbuf = &rqstp->rq_res; | 1220 | struct xdr_buf *resbuf = &rqstp->rq_res; |
1221 | struct page **inpages = NULL; | 1221 | struct page **inpages = NULL; |
1222 | u32 *p; | 1222 | __be32 *p, *len; |
1223 | int offset, *len; | 1223 | int offset; |
1224 | int pad; | 1224 | int pad; |
1225 | 1225 | ||
1226 | p = gsd->body_start; | 1226 | p = gsd->body_start; |
@@ -1264,7 +1264,7 @@ svcauth_gss_wrap_resp_priv(struct svc_rqst *rqstp) | |||
1264 | return -ENOMEM; | 1264 | return -ENOMEM; |
1265 | *len = htonl(resbuf->len - offset); | 1265 | *len = htonl(resbuf->len - offset); |
1266 | pad = 3 - ((resbuf->len - offset - 1)&3); | 1266 | pad = 3 - ((resbuf->len - offset - 1)&3); |
1267 | p = (u32 *)(resbuf->tail[0].iov_base + resbuf->tail[0].iov_len); | 1267 | p = (__be32 *)(resbuf->tail[0].iov_base + resbuf->tail[0].iov_len); |
1268 | memset(p, 0, pad); | 1268 | memset(p, 0, pad); |
1269 | resbuf->tail[0].iov_len += pad; | 1269 | resbuf->tail[0].iov_len += pad; |
1270 | resbuf->len += pad; | 1270 | resbuf->len += pad; |
diff --git a/net/sunrpc/auth_null.c b/net/sunrpc/auth_null.c index 2eccffa96ba1..3be257dc32b2 100644 --- a/net/sunrpc/auth_null.c +++ b/net/sunrpc/auth_null.c | |||
@@ -60,8 +60,8 @@ nul_match(struct auth_cred *acred, struct rpc_cred *cred, int taskflags) | |||
60 | /* | 60 | /* |
61 | * Marshal credential. | 61 | * Marshal credential. |
62 | */ | 62 | */ |
63 | static u32 * | 63 | static __be32 * |
64 | nul_marshal(struct rpc_task *task, u32 *p) | 64 | nul_marshal(struct rpc_task *task, __be32 *p) |
65 | { | 65 | { |
66 | *p++ = htonl(RPC_AUTH_NULL); | 66 | *p++ = htonl(RPC_AUTH_NULL); |
67 | *p++ = 0; | 67 | *p++ = 0; |
@@ -81,8 +81,8 @@ nul_refresh(struct rpc_task *task) | |||
81 | return 0; | 81 | return 0; |
82 | } | 82 | } |
83 | 83 | ||
84 | static u32 * | 84 | static __be32 * |
85 | nul_validate(struct rpc_task *task, u32 *p) | 85 | nul_validate(struct rpc_task *task, __be32 *p) |
86 | { | 86 | { |
87 | rpc_authflavor_t flavor; | 87 | rpc_authflavor_t flavor; |
88 | u32 size; | 88 | u32 size; |
diff --git a/net/sunrpc/auth_unix.c b/net/sunrpc/auth_unix.c index 74c7406a1054..f7f990c9afe2 100644 --- a/net/sunrpc/auth_unix.c +++ b/net/sunrpc/auth_unix.c | |||
@@ -137,12 +137,12 @@ unx_match(struct auth_cred *acred, struct rpc_cred *rcred, int flags) | |||
137 | * Marshal credentials. | 137 | * Marshal credentials. |
138 | * Maybe we should keep a cached credential for performance reasons. | 138 | * Maybe we should keep a cached credential for performance reasons. |
139 | */ | 139 | */ |
140 | static u32 * | 140 | static __be32 * |
141 | unx_marshal(struct rpc_task *task, u32 *p) | 141 | unx_marshal(struct rpc_task *task, __be32 *p) |
142 | { | 142 | { |
143 | struct rpc_clnt *clnt = task->tk_client; | 143 | struct rpc_clnt *clnt = task->tk_client; |
144 | struct unx_cred *cred = (struct unx_cred *) task->tk_msg.rpc_cred; | 144 | struct unx_cred *cred = (struct unx_cred *) task->tk_msg.rpc_cred; |
145 | u32 *base, *hold; | 145 | __be32 *base, *hold; |
146 | int i; | 146 | int i; |
147 | 147 | ||
148 | *p++ = htonl(RPC_AUTH_UNIX); | 148 | *p++ = htonl(RPC_AUTH_UNIX); |
@@ -178,8 +178,8 @@ unx_refresh(struct rpc_task *task) | |||
178 | return 0; | 178 | return 0; |
179 | } | 179 | } |
180 | 180 | ||
181 | static u32 * | 181 | static __be32 * |
182 | unx_validate(struct rpc_task *task, u32 *p) | 182 | unx_validate(struct rpc_task *task, __be32 *p) |
183 | { | 183 | { |
184 | rpc_authflavor_t flavor; | 184 | rpc_authflavor_t flavor; |
185 | u32 size; | 185 | u32 size; |
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 084a0ad5c64e..124ff0ceb55b 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -60,8 +60,8 @@ static void call_refreshresult(struct rpc_task *task); | |||
60 | static void call_timeout(struct rpc_task *task); | 60 | static void call_timeout(struct rpc_task *task); |
61 | static void call_connect(struct rpc_task *task); | 61 | static void call_connect(struct rpc_task *task); |
62 | static void call_connect_status(struct rpc_task *task); | 62 | static void call_connect_status(struct rpc_task *task); |
63 | static u32 * call_header(struct rpc_task *task); | 63 | static __be32 * call_header(struct rpc_task *task); |
64 | static u32 * call_verify(struct rpc_task *task); | 64 | static __be32 * call_verify(struct rpc_task *task); |
65 | 65 | ||
66 | 66 | ||
67 | static int | 67 | static int |
@@ -782,7 +782,7 @@ call_encode(struct rpc_task *task) | |||
782 | struct xdr_buf *rcvbuf = &req->rq_rcv_buf; | 782 | struct xdr_buf *rcvbuf = &req->rq_rcv_buf; |
783 | unsigned int bufsiz; | 783 | unsigned int bufsiz; |
784 | kxdrproc_t encode; | 784 | kxdrproc_t encode; |
785 | u32 *p; | 785 | __be32 *p; |
786 | 786 | ||
787 | dprintk("RPC: %4d call_encode (status %d)\n", | 787 | dprintk("RPC: %4d call_encode (status %d)\n", |
788 | task->tk_pid, task->tk_status); | 788 | task->tk_pid, task->tk_status); |
@@ -1100,7 +1100,7 @@ call_decode(struct rpc_task *task) | |||
1100 | struct rpc_clnt *clnt = task->tk_client; | 1100 | struct rpc_clnt *clnt = task->tk_client; |
1101 | struct rpc_rqst *req = task->tk_rqstp; | 1101 | struct rpc_rqst *req = task->tk_rqstp; |
1102 | kxdrproc_t decode = task->tk_msg.rpc_proc->p_decode; | 1102 | kxdrproc_t decode = task->tk_msg.rpc_proc->p_decode; |
1103 | u32 *p; | 1103 | __be32 *p; |
1104 | 1104 | ||
1105 | dprintk("RPC: %4d call_decode (status %d)\n", | 1105 | dprintk("RPC: %4d call_decode (status %d)\n", |
1106 | task->tk_pid, task->tk_status); | 1106 | task->tk_pid, task->tk_status); |
@@ -1197,12 +1197,12 @@ call_refreshresult(struct rpc_task *task) | |||
1197 | /* | 1197 | /* |
1198 | * Call header serialization | 1198 | * Call header serialization |
1199 | */ | 1199 | */ |
1200 | static u32 * | 1200 | static __be32 * |
1201 | call_header(struct rpc_task *task) | 1201 | call_header(struct rpc_task *task) |
1202 | { | 1202 | { |
1203 | struct rpc_clnt *clnt = task->tk_client; | 1203 | struct rpc_clnt *clnt = task->tk_client; |
1204 | struct rpc_rqst *req = task->tk_rqstp; | 1204 | struct rpc_rqst *req = task->tk_rqstp; |
1205 | u32 *p = req->rq_svec[0].iov_base; | 1205 | __be32 *p = req->rq_svec[0].iov_base; |
1206 | 1206 | ||
1207 | /* FIXME: check buffer size? */ | 1207 | /* FIXME: check buffer size? */ |
1208 | 1208 | ||
@@ -1221,12 +1221,13 @@ call_header(struct rpc_task *task) | |||
1221 | /* | 1221 | /* |
1222 | * Reply header verification | 1222 | * Reply header verification |
1223 | */ | 1223 | */ |
1224 | static u32 * | 1224 | static __be32 * |
1225 | call_verify(struct rpc_task *task) | 1225 | call_verify(struct rpc_task *task) |
1226 | { | 1226 | { |
1227 | struct kvec *iov = &task->tk_rqstp->rq_rcv_buf.head[0]; | 1227 | struct kvec *iov = &task->tk_rqstp->rq_rcv_buf.head[0]; |
1228 | int len = task->tk_rqstp->rq_rcv_buf.len >> 2; | 1228 | int len = task->tk_rqstp->rq_rcv_buf.len >> 2; |
1229 | u32 *p = iov->iov_base, n; | 1229 | __be32 *p = iov->iov_base; |
1230 | u32 n; | ||
1230 | int error = -EACCES; | 1231 | int error = -EACCES; |
1231 | 1232 | ||
1232 | if ((task->tk_rqstp->rq_rcv_buf.len & 3) != 0) { | 1233 | if ((task->tk_rqstp->rq_rcv_buf.len & 3) != 0) { |
@@ -1303,7 +1304,7 @@ call_verify(struct rpc_task *task) | |||
1303 | printk(KERN_WARNING "call_verify: auth check failed\n"); | 1304 | printk(KERN_WARNING "call_verify: auth check failed\n"); |
1304 | goto out_garbage; /* bad verifier, retry */ | 1305 | goto out_garbage; /* bad verifier, retry */ |
1305 | } | 1306 | } |
1306 | len = p - (u32 *)iov->iov_base - 1; | 1307 | len = p - (__be32 *)iov->iov_base - 1; |
1307 | if (len < 0) | 1308 | if (len < 0) |
1308 | goto out_overflow; | 1309 | goto out_overflow; |
1309 | switch ((n = ntohl(*p++))) { | 1310 | switch ((n = ntohl(*p++))) { |
@@ -1358,12 +1359,12 @@ out_overflow: | |||
1358 | goto out_garbage; | 1359 | goto out_garbage; |
1359 | } | 1360 | } |
1360 | 1361 | ||
1361 | static int rpcproc_encode_null(void *rqstp, u32 *data, void *obj) | 1362 | static int rpcproc_encode_null(void *rqstp, __be32 *data, void *obj) |
1362 | { | 1363 | { |
1363 | return 0; | 1364 | return 0; |
1364 | } | 1365 | } |
1365 | 1366 | ||
1366 | static int rpcproc_decode_null(void *rqstp, u32 *data, void *obj) | 1367 | static int rpcproc_decode_null(void *rqstp, __be32 *data, void *obj) |
1367 | { | 1368 | { |
1368 | return 0; | 1369 | return 0; |
1369 | } | 1370 | } |
diff --git a/net/sunrpc/pmap_clnt.c b/net/sunrpc/pmap_clnt.c index c04609d3476a..919d5ba7ca0a 100644 --- a/net/sunrpc/pmap_clnt.c +++ b/net/sunrpc/pmap_clnt.c | |||
@@ -300,7 +300,7 @@ static struct rpc_clnt *pmap_create(char *hostname, struct sockaddr_in *srvaddr, | |||
300 | /* | 300 | /* |
301 | * XDR encode/decode functions for PMAP | 301 | * XDR encode/decode functions for PMAP |
302 | */ | 302 | */ |
303 | static int xdr_encode_mapping(struct rpc_rqst *req, u32 *p, struct portmap_args *map) | 303 | static int xdr_encode_mapping(struct rpc_rqst *req, __be32 *p, struct portmap_args *map) |
304 | { | 304 | { |
305 | dprintk("RPC: xdr_encode_mapping(%u, %u, %u, %u)\n", | 305 | dprintk("RPC: xdr_encode_mapping(%u, %u, %u, %u)\n", |
306 | map->pm_prog, map->pm_vers, map->pm_prot, map->pm_port); | 306 | map->pm_prog, map->pm_vers, map->pm_prot, map->pm_port); |
@@ -313,13 +313,13 @@ static int xdr_encode_mapping(struct rpc_rqst *req, u32 *p, struct portmap_args | |||
313 | return 0; | 313 | return 0; |
314 | } | 314 | } |
315 | 315 | ||
316 | static int xdr_decode_port(struct rpc_rqst *req, u32 *p, unsigned short *portp) | 316 | static int xdr_decode_port(struct rpc_rqst *req, __be32 *p, unsigned short *portp) |
317 | { | 317 | { |
318 | *portp = (unsigned short) ntohl(*p++); | 318 | *portp = (unsigned short) ntohl(*p++); |
319 | return 0; | 319 | return 0; |
320 | } | 320 | } |
321 | 321 | ||
322 | static int xdr_decode_bool(struct rpc_rqst *req, u32 *p, unsigned int *boolp) | 322 | static int xdr_decode_bool(struct rpc_rqst *req, __be32 *p, unsigned int *boolp) |
323 | { | 323 | { |
324 | *boolp = (unsigned int) ntohl(*p++); | 324 | *boolp = (unsigned int) ntohl(*p++); |
325 | return 0; | 325 | return 0; |
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index b76a227dd3ad..44b8d9d4c18a 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
@@ -256,11 +256,11 @@ svc_process(struct svc_serv *serv, struct svc_rqst *rqstp) | |||
256 | struct kvec * argv = &rqstp->rq_arg.head[0]; | 256 | struct kvec * argv = &rqstp->rq_arg.head[0]; |
257 | struct kvec * resv = &rqstp->rq_res.head[0]; | 257 | struct kvec * resv = &rqstp->rq_res.head[0]; |
258 | kxdrproc_t xdr; | 258 | kxdrproc_t xdr; |
259 | u32 *statp; | 259 | __be32 *statp; |
260 | u32 dir, prog, vers, proc, | 260 | u32 dir, prog, vers, proc; |
261 | auth_stat, rpc_stat; | 261 | __be32 auth_stat, rpc_stat; |
262 | int auth_res; | 262 | int auth_res; |
263 | u32 *accept_statp; | 263 | __be32 *accept_statp; |
264 | 264 | ||
265 | rpc_stat = rpc_success; | 265 | rpc_stat = rpc_success; |
266 | 266 | ||
@@ -284,16 +284,16 @@ svc_process(struct svc_serv *serv, struct svc_rqst *rqstp) | |||
284 | rqstp->rq_sendfile_ok = 1; | 284 | rqstp->rq_sendfile_ok = 1; |
285 | /* tcp needs a space for the record length... */ | 285 | /* tcp needs a space for the record length... */ |
286 | if (rqstp->rq_prot == IPPROTO_TCP) | 286 | if (rqstp->rq_prot == IPPROTO_TCP) |
287 | svc_putu32(resv, 0); | 287 | svc_putnl(resv, 0); |
288 | 288 | ||
289 | rqstp->rq_xid = svc_getu32(argv); | 289 | rqstp->rq_xid = svc_getu32(argv); |
290 | svc_putu32(resv, rqstp->rq_xid); | 290 | svc_putu32(resv, rqstp->rq_xid); |
291 | 291 | ||
292 | dir = ntohl(svc_getu32(argv)); | 292 | dir = svc_getnl(argv); |
293 | vers = ntohl(svc_getu32(argv)); | 293 | vers = svc_getnl(argv); |
294 | 294 | ||
295 | /* First words of reply: */ | 295 | /* First words of reply: */ |
296 | svc_putu32(resv, xdr_one); /* REPLY */ | 296 | svc_putnl(resv, 1); /* REPLY */ |
297 | 297 | ||
298 | if (dir != 0) /* direction != CALL */ | 298 | if (dir != 0) /* direction != CALL */ |
299 | goto err_bad_dir; | 299 | goto err_bad_dir; |
@@ -303,11 +303,11 @@ svc_process(struct svc_serv *serv, struct svc_rqst *rqstp) | |||
303 | /* Save position in case we later decide to reject: */ | 303 | /* Save position in case we later decide to reject: */ |
304 | accept_statp = resv->iov_base + resv->iov_len; | 304 | accept_statp = resv->iov_base + resv->iov_len; |
305 | 305 | ||
306 | svc_putu32(resv, xdr_zero); /* ACCEPT */ | 306 | svc_putnl(resv, 0); /* ACCEPT */ |
307 | 307 | ||
308 | rqstp->rq_prog = prog = ntohl(svc_getu32(argv)); /* program number */ | 308 | rqstp->rq_prog = prog = svc_getnl(argv); /* program number */ |
309 | rqstp->rq_vers = vers = ntohl(svc_getu32(argv)); /* version number */ | 309 | rqstp->rq_vers = vers = svc_getnl(argv); /* version number */ |
310 | rqstp->rq_proc = proc = ntohl(svc_getu32(argv)); /* procedure number */ | 310 | rqstp->rq_proc = proc = svc_getnl(argv); /* procedure number */ |
311 | 311 | ||
312 | progp = serv->sv_program; | 312 | progp = serv->sv_program; |
313 | 313 | ||
@@ -361,7 +361,7 @@ svc_process(struct svc_serv *serv, struct svc_rqst *rqstp) | |||
361 | 361 | ||
362 | /* Build the reply header. */ | 362 | /* Build the reply header. */ |
363 | statp = resv->iov_base +resv->iov_len; | 363 | statp = resv->iov_base +resv->iov_len; |
364 | svc_putu32(resv, rpc_success); /* RPC_SUCCESS */ | 364 | svc_putnl(resv, RPC_SUCCESS); |
365 | 365 | ||
366 | /* Bump per-procedure stats counter */ | 366 | /* Bump per-procedure stats counter */ |
367 | procp->pc_count++; | 367 | procp->pc_count++; |
@@ -439,10 +439,10 @@ err_bad_dir: | |||
439 | 439 | ||
440 | err_bad_rpc: | 440 | err_bad_rpc: |
441 | serv->sv_stats->rpcbadfmt++; | 441 | serv->sv_stats->rpcbadfmt++; |
442 | svc_putu32(resv, xdr_one); /* REJECT */ | 442 | svc_putnl(resv, 1); /* REJECT */ |
443 | svc_putu32(resv, xdr_zero); /* RPC_MISMATCH */ | 443 | svc_putnl(resv, 0); /* RPC_MISMATCH */ |
444 | svc_putu32(resv, xdr_two); /* Only RPCv2 supported */ | 444 | svc_putnl(resv, 2); /* Only RPCv2 supported */ |
445 | svc_putu32(resv, xdr_two); | 445 | svc_putnl(resv, 2); |
446 | goto sendit; | 446 | goto sendit; |
447 | 447 | ||
448 | err_bad_auth: | 448 | err_bad_auth: |
@@ -450,15 +450,15 @@ err_bad_auth: | |||
450 | serv->sv_stats->rpcbadauth++; | 450 | serv->sv_stats->rpcbadauth++; |
451 | /* Restore write pointer to location of accept status: */ | 451 | /* Restore write pointer to location of accept status: */ |
452 | xdr_ressize_check(rqstp, accept_statp); | 452 | xdr_ressize_check(rqstp, accept_statp); |
453 | svc_putu32(resv, xdr_one); /* REJECT */ | 453 | svc_putnl(resv, 1); /* REJECT */ |
454 | svc_putu32(resv, xdr_one); /* AUTH_ERROR */ | 454 | svc_putnl(resv, 1); /* AUTH_ERROR */ |
455 | svc_putu32(resv, auth_stat); /* status */ | 455 | svc_putnl(resv, ntohl(auth_stat)); /* status */ |
456 | goto sendit; | 456 | goto sendit; |
457 | 457 | ||
458 | err_bad_prog: | 458 | err_bad_prog: |
459 | dprintk("svc: unknown program %d\n", prog); | 459 | dprintk("svc: unknown program %d\n", prog); |
460 | serv->sv_stats->rpcbadfmt++; | 460 | serv->sv_stats->rpcbadfmt++; |
461 | svc_putu32(resv, rpc_prog_unavail); | 461 | svc_putnl(resv, RPC_PROG_UNAVAIL); |
462 | goto sendit; | 462 | goto sendit; |
463 | 463 | ||
464 | err_bad_vers: | 464 | err_bad_vers: |
@@ -466,9 +466,9 @@ err_bad_vers: | |||
466 | printk("svc: unknown version (%d)\n", vers); | 466 | printk("svc: unknown version (%d)\n", vers); |
467 | #endif | 467 | #endif |
468 | serv->sv_stats->rpcbadfmt++; | 468 | serv->sv_stats->rpcbadfmt++; |
469 | svc_putu32(resv, rpc_prog_mismatch); | 469 | svc_putnl(resv, RPC_PROG_MISMATCH); |
470 | svc_putu32(resv, htonl(progp->pg_lovers)); | 470 | svc_putnl(resv, progp->pg_lovers); |
471 | svc_putu32(resv, htonl(progp->pg_hivers)); | 471 | svc_putnl(resv, progp->pg_hivers); |
472 | goto sendit; | 472 | goto sendit; |
473 | 473 | ||
474 | err_bad_proc: | 474 | err_bad_proc: |
@@ -476,7 +476,7 @@ err_bad_proc: | |||
476 | printk("svc: unknown procedure (%d)\n", proc); | 476 | printk("svc: unknown procedure (%d)\n", proc); |
477 | #endif | 477 | #endif |
478 | serv->sv_stats->rpcbadfmt++; | 478 | serv->sv_stats->rpcbadfmt++; |
479 | svc_putu32(resv, rpc_proc_unavail); | 479 | svc_putnl(resv, RPC_PROC_UNAVAIL); |
480 | goto sendit; | 480 | goto sendit; |
481 | 481 | ||
482 | err_garbage: | 482 | err_garbage: |
@@ -486,6 +486,6 @@ err_garbage: | |||
486 | rpc_stat = rpc_garbage_args; | 486 | rpc_stat = rpc_garbage_args; |
487 | err_bad: | 487 | err_bad: |
488 | serv->sv_stats->rpcbadfmt++; | 488 | serv->sv_stats->rpcbadfmt++; |
489 | svc_putu32(resv, rpc_stat); | 489 | svc_putnl(resv, ntohl(rpc_stat)); |
490 | goto sendit; | 490 | goto sendit; |
491 | } | 491 | } |
diff --git a/net/sunrpc/svcauth.c b/net/sunrpc/svcauth.c index 5b28c6176806..8f2320aded5c 100644 --- a/net/sunrpc/svcauth.c +++ b/net/sunrpc/svcauth.c | |||
@@ -35,14 +35,14 @@ static struct auth_ops *authtab[RPC_AUTH_MAXFLAVOR] = { | |||
35 | }; | 35 | }; |
36 | 36 | ||
37 | int | 37 | int |
38 | svc_authenticate(struct svc_rqst *rqstp, u32 *authp) | 38 | svc_authenticate(struct svc_rqst *rqstp, __be32 *authp) |
39 | { | 39 | { |
40 | rpc_authflavor_t flavor; | 40 | rpc_authflavor_t flavor; |
41 | struct auth_ops *aops; | 41 | struct auth_ops *aops; |
42 | 42 | ||
43 | *authp = rpc_auth_ok; | 43 | *authp = rpc_auth_ok; |
44 | 44 | ||
45 | flavor = ntohl(svc_getu32(&rqstp->rq_arg.head[0])); | 45 | flavor = svc_getnl(&rqstp->rq_arg.head[0]); |
46 | 46 | ||
47 | dprintk("svc: svc_authenticate (%d)\n", flavor); | 47 | dprintk("svc: svc_authenticate (%d)\n", flavor); |
48 | 48 | ||
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index 7e5707e2d6b6..1020d54b01d0 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c | |||
@@ -145,7 +145,7 @@ static void ip_map_request(struct cache_detail *cd, | |||
145 | { | 145 | { |
146 | char text_addr[20]; | 146 | char text_addr[20]; |
147 | struct ip_map *im = container_of(h, struct ip_map, h); | 147 | struct ip_map *im = container_of(h, struct ip_map, h); |
148 | __u32 addr = im->m_addr.s_addr; | 148 | __be32 addr = im->m_addr.s_addr; |
149 | 149 | ||
150 | snprintf(text_addr, 20, "%u.%u.%u.%u", | 150 | snprintf(text_addr, 20, "%u.%u.%u.%u", |
151 | ntohl(addr) >> 24 & 0xff, | 151 | ntohl(addr) >> 24 & 0xff, |
@@ -249,10 +249,10 @@ static int ip_map_show(struct seq_file *m, | |||
249 | 249 | ||
250 | seq_printf(m, "%s %d.%d.%d.%d %s\n", | 250 | seq_printf(m, "%s %d.%d.%d.%d %s\n", |
251 | im->m_class, | 251 | im->m_class, |
252 | htonl(addr.s_addr) >> 24 & 0xff, | 252 | ntohl(addr.s_addr) >> 24 & 0xff, |
253 | htonl(addr.s_addr) >> 16 & 0xff, | 253 | ntohl(addr.s_addr) >> 16 & 0xff, |
254 | htonl(addr.s_addr) >> 8 & 0xff, | 254 | ntohl(addr.s_addr) >> 8 & 0xff, |
255 | htonl(addr.s_addr) >> 0 & 0xff, | 255 | ntohl(addr.s_addr) >> 0 & 0xff, |
256 | dom | 256 | dom |
257 | ); | 257 | ); |
258 | return 0; | 258 | return 0; |
@@ -410,7 +410,7 @@ svcauth_unix_set_client(struct svc_rqst *rqstp) | |||
410 | } | 410 | } |
411 | 411 | ||
412 | static int | 412 | static int |
413 | svcauth_null_accept(struct svc_rqst *rqstp, u32 *authp) | 413 | svcauth_null_accept(struct svc_rqst *rqstp, __be32 *authp) |
414 | { | 414 | { |
415 | struct kvec *argv = &rqstp->rq_arg.head[0]; | 415 | struct kvec *argv = &rqstp->rq_arg.head[0]; |
416 | struct kvec *resv = &rqstp->rq_res.head[0]; | 416 | struct kvec *resv = &rqstp->rq_res.head[0]; |
@@ -427,7 +427,7 @@ svcauth_null_accept(struct svc_rqst *rqstp, u32 *authp) | |||
427 | *authp = rpc_autherr_badcred; | 427 | *authp = rpc_autherr_badcred; |
428 | return SVC_DENIED; | 428 | return SVC_DENIED; |
429 | } | 429 | } |
430 | if (svc_getu32(argv) != RPC_AUTH_NULL || svc_getu32(argv) != 0) { | 430 | if (svc_getu32(argv) != htonl(RPC_AUTH_NULL) || svc_getu32(argv) != 0) { |
431 | dprintk("svc: bad null verf\n"); | 431 | dprintk("svc: bad null verf\n"); |
432 | *authp = rpc_autherr_badverf; | 432 | *authp = rpc_autherr_badverf; |
433 | return SVC_DENIED; | 433 | return SVC_DENIED; |
@@ -441,8 +441,8 @@ svcauth_null_accept(struct svc_rqst *rqstp, u32 *authp) | |||
441 | return SVC_DROP; /* kmalloc failure - client must retry */ | 441 | return SVC_DROP; /* kmalloc failure - client must retry */ |
442 | 442 | ||
443 | /* Put NULL verifier */ | 443 | /* Put NULL verifier */ |
444 | svc_putu32(resv, RPC_AUTH_NULL); | 444 | svc_putnl(resv, RPC_AUTH_NULL); |
445 | svc_putu32(resv, 0); | 445 | svc_putnl(resv, 0); |
446 | 446 | ||
447 | return SVC_OK; | 447 | return SVC_OK; |
448 | } | 448 | } |
@@ -472,7 +472,7 @@ struct auth_ops svcauth_null = { | |||
472 | 472 | ||
473 | 473 | ||
474 | static int | 474 | static int |
475 | svcauth_unix_accept(struct svc_rqst *rqstp, u32 *authp) | 475 | svcauth_unix_accept(struct svc_rqst *rqstp, __be32 *authp) |
476 | { | 476 | { |
477 | struct kvec *argv = &rqstp->rq_arg.head[0]; | 477 | struct kvec *argv = &rqstp->rq_arg.head[0]; |
478 | struct kvec *resv = &rqstp->rq_res.head[0]; | 478 | struct kvec *resv = &rqstp->rq_res.head[0]; |
@@ -488,31 +488,31 @@ svcauth_unix_accept(struct svc_rqst *rqstp, u32 *authp) | |||
488 | 488 | ||
489 | svc_getu32(argv); /* length */ | 489 | svc_getu32(argv); /* length */ |
490 | svc_getu32(argv); /* time stamp */ | 490 | svc_getu32(argv); /* time stamp */ |
491 | slen = XDR_QUADLEN(ntohl(svc_getu32(argv))); /* machname length */ | 491 | slen = XDR_QUADLEN(svc_getnl(argv)); /* machname length */ |
492 | if (slen > 64 || (len -= (slen + 3)*4) < 0) | 492 | if (slen > 64 || (len -= (slen + 3)*4) < 0) |
493 | goto badcred; | 493 | goto badcred; |
494 | argv->iov_base = (void*)((u32*)argv->iov_base + slen); /* skip machname */ | 494 | argv->iov_base = (void*)((__be32*)argv->iov_base + slen); /* skip machname */ |
495 | argv->iov_len -= slen*4; | 495 | argv->iov_len -= slen*4; |
496 | 496 | ||
497 | cred->cr_uid = ntohl(svc_getu32(argv)); /* uid */ | 497 | cred->cr_uid = svc_getnl(argv); /* uid */ |
498 | cred->cr_gid = ntohl(svc_getu32(argv)); /* gid */ | 498 | cred->cr_gid = svc_getnl(argv); /* gid */ |
499 | slen = ntohl(svc_getu32(argv)); /* gids length */ | 499 | slen = svc_getnl(argv); /* gids length */ |
500 | if (slen > 16 || (len -= (slen + 2)*4) < 0) | 500 | if (slen > 16 || (len -= (slen + 2)*4) < 0) |
501 | goto badcred; | 501 | goto badcred; |
502 | cred->cr_group_info = groups_alloc(slen); | 502 | cred->cr_group_info = groups_alloc(slen); |
503 | if (cred->cr_group_info == NULL) | 503 | if (cred->cr_group_info == NULL) |
504 | return SVC_DROP; | 504 | return SVC_DROP; |
505 | for (i = 0; i < slen; i++) | 505 | for (i = 0; i < slen; i++) |
506 | GROUP_AT(cred->cr_group_info, i) = ntohl(svc_getu32(argv)); | 506 | GROUP_AT(cred->cr_group_info, i) = svc_getnl(argv); |
507 | 507 | ||
508 | if (svc_getu32(argv) != RPC_AUTH_NULL || svc_getu32(argv) != 0) { | 508 | if (svc_getu32(argv) != htonl(RPC_AUTH_NULL) || svc_getu32(argv) != 0) { |
509 | *authp = rpc_autherr_badverf; | 509 | *authp = rpc_autherr_badverf; |
510 | return SVC_DENIED; | 510 | return SVC_DENIED; |
511 | } | 511 | } |
512 | 512 | ||
513 | /* Put NULL verifier */ | 513 | /* Put NULL verifier */ |
514 | svc_putu32(resv, RPC_AUTH_NULL); | 514 | svc_putnl(resv, RPC_AUTH_NULL); |
515 | svc_putu32(resv, 0); | 515 | svc_putnl(resv, 0); |
516 | 516 | ||
517 | return SVC_OK; | 517 | return SVC_OK; |
518 | 518 | ||
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index 953aff89bcac..5b0fe1b66a23 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c | |||
@@ -1030,7 +1030,7 @@ svc_tcp_sendto(struct svc_rqst *rqstp) | |||
1030 | { | 1030 | { |
1031 | struct xdr_buf *xbufp = &rqstp->rq_res; | 1031 | struct xdr_buf *xbufp = &rqstp->rq_res; |
1032 | int sent; | 1032 | int sent; |
1033 | u32 reclen; | 1033 | __be32 reclen; |
1034 | 1034 | ||
1035 | /* Set up the first element of the reply kvec. | 1035 | /* Set up the first element of the reply kvec. |
1036 | * Any other kvecs that may be in use have been taken | 1036 | * Any other kvecs that may be in use have been taken |
@@ -1393,14 +1393,12 @@ svc_create_socket(struct svc_serv *serv, int protocol, struct sockaddr_in *sin) | |||
1393 | if ((error = sock_create_kern(PF_INET, type, protocol, &sock)) < 0) | 1393 | if ((error = sock_create_kern(PF_INET, type, protocol, &sock)) < 0) |
1394 | return error; | 1394 | return error; |
1395 | 1395 | ||
1396 | if (sin != NULL) { | 1396 | if (type == SOCK_STREAM) |
1397 | if (type == SOCK_STREAM) | 1397 | sock->sk->sk_reuse = 1; /* allow address reuse */ |
1398 | sock->sk->sk_reuse = 1; /* allow address reuse */ | 1398 | error = kernel_bind(sock, (struct sockaddr *) sin, |
1399 | error = kernel_bind(sock, (struct sockaddr *) sin, | 1399 | sizeof(*sin)); |
1400 | sizeof(*sin)); | 1400 | if (error < 0) |
1401 | if (error < 0) | 1401 | goto bummer; |
1402 | goto bummer; | ||
1403 | } | ||
1404 | 1402 | ||
1405 | if (protocol == IPPROTO_TCP) { | 1403 | if (protocol == IPPROTO_TCP) { |
1406 | if ((error = kernel_listen(sock, 64)) < 0) | 1404 | if ((error = kernel_listen(sock, 64)) < 0) |
diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index 6ac45103a272..9022eb8b37ed 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c | |||
@@ -18,8 +18,8 @@ | |||
18 | /* | 18 | /* |
19 | * XDR functions for basic NFS types | 19 | * XDR functions for basic NFS types |
20 | */ | 20 | */ |
21 | u32 * | 21 | __be32 * |
22 | xdr_encode_netobj(u32 *p, const struct xdr_netobj *obj) | 22 | xdr_encode_netobj(__be32 *p, const struct xdr_netobj *obj) |
23 | { | 23 | { |
24 | unsigned int quadlen = XDR_QUADLEN(obj->len); | 24 | unsigned int quadlen = XDR_QUADLEN(obj->len); |
25 | 25 | ||
@@ -29,8 +29,8 @@ xdr_encode_netobj(u32 *p, const struct xdr_netobj *obj) | |||
29 | return p + XDR_QUADLEN(obj->len); | 29 | return p + XDR_QUADLEN(obj->len); |
30 | } | 30 | } |
31 | 31 | ||
32 | u32 * | 32 | __be32 * |
33 | xdr_decode_netobj(u32 *p, struct xdr_netobj *obj) | 33 | xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj) |
34 | { | 34 | { |
35 | unsigned int len; | 35 | unsigned int len; |
36 | 36 | ||
@@ -55,7 +55,7 @@ xdr_decode_netobj(u32 *p, struct xdr_netobj *obj) | |||
55 | * Returns the updated current XDR buffer position | 55 | * Returns the updated current XDR buffer position |
56 | * | 56 | * |
57 | */ | 57 | */ |
58 | u32 *xdr_encode_opaque_fixed(u32 *p, const void *ptr, unsigned int nbytes) | 58 | __be32 *xdr_encode_opaque_fixed(__be32 *p, const void *ptr, unsigned int nbytes) |
59 | { | 59 | { |
60 | if (likely(nbytes != 0)) { | 60 | if (likely(nbytes != 0)) { |
61 | unsigned int quadlen = XDR_QUADLEN(nbytes); | 61 | unsigned int quadlen = XDR_QUADLEN(nbytes); |
@@ -79,21 +79,21 @@ EXPORT_SYMBOL(xdr_encode_opaque_fixed); | |||
79 | * | 79 | * |
80 | * Returns the updated current XDR buffer position | 80 | * Returns the updated current XDR buffer position |
81 | */ | 81 | */ |
82 | u32 *xdr_encode_opaque(u32 *p, const void *ptr, unsigned int nbytes) | 82 | __be32 *xdr_encode_opaque(__be32 *p, const void *ptr, unsigned int nbytes) |
83 | { | 83 | { |
84 | *p++ = htonl(nbytes); | 84 | *p++ = htonl(nbytes); |
85 | return xdr_encode_opaque_fixed(p, ptr, nbytes); | 85 | return xdr_encode_opaque_fixed(p, ptr, nbytes); |
86 | } | 86 | } |
87 | EXPORT_SYMBOL(xdr_encode_opaque); | 87 | EXPORT_SYMBOL(xdr_encode_opaque); |
88 | 88 | ||
89 | u32 * | 89 | __be32 * |
90 | xdr_encode_string(u32 *p, const char *string) | 90 | xdr_encode_string(__be32 *p, const char *string) |
91 | { | 91 | { |
92 | return xdr_encode_array(p, string, strlen(string)); | 92 | return xdr_encode_array(p, string, strlen(string)); |
93 | } | 93 | } |
94 | 94 | ||
95 | u32 * | 95 | __be32 * |
96 | xdr_decode_string_inplace(u32 *p, char **sp, int *lenp, int maxlen) | 96 | xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen) |
97 | { | 97 | { |
98 | unsigned int len; | 98 | unsigned int len; |
99 | 99 | ||
@@ -432,7 +432,7 @@ xdr_shift_buf(struct xdr_buf *buf, size_t len) | |||
432 | * of the buffer length, and takes care of adjusting the kvec | 432 | * of the buffer length, and takes care of adjusting the kvec |
433 | * length for us. | 433 | * length for us. |
434 | */ | 434 | */ |
435 | void xdr_init_encode(struct xdr_stream *xdr, struct xdr_buf *buf, uint32_t *p) | 435 | void xdr_init_encode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 *p) |
436 | { | 436 | { |
437 | struct kvec *iov = buf->head; | 437 | struct kvec *iov = buf->head; |
438 | int scratch_len = buf->buflen - buf->page_len - buf->tail[0].iov_len; | 438 | int scratch_len = buf->buflen - buf->page_len - buf->tail[0].iov_len; |
@@ -440,8 +440,8 @@ void xdr_init_encode(struct xdr_stream *xdr, struct xdr_buf *buf, uint32_t *p) | |||
440 | BUG_ON(scratch_len < 0); | 440 | BUG_ON(scratch_len < 0); |
441 | xdr->buf = buf; | 441 | xdr->buf = buf; |
442 | xdr->iov = iov; | 442 | xdr->iov = iov; |
443 | xdr->p = (uint32_t *)((char *)iov->iov_base + iov->iov_len); | 443 | xdr->p = (__be32 *)((char *)iov->iov_base + iov->iov_len); |
444 | xdr->end = (uint32_t *)((char *)iov->iov_base + scratch_len); | 444 | xdr->end = (__be32 *)((char *)iov->iov_base + scratch_len); |
445 | BUG_ON(iov->iov_len > scratch_len); | 445 | BUG_ON(iov->iov_len > scratch_len); |
446 | 446 | ||
447 | if (p != xdr->p && p != NULL) { | 447 | if (p != xdr->p && p != NULL) { |
@@ -465,10 +465,10 @@ EXPORT_SYMBOL(xdr_init_encode); | |||
465 | * bytes of data. If so, update the total xdr_buf length, and | 465 | * bytes of data. If so, update the total xdr_buf length, and |
466 | * adjust the length of the current kvec. | 466 | * adjust the length of the current kvec. |
467 | */ | 467 | */ |
468 | uint32_t * xdr_reserve_space(struct xdr_stream *xdr, size_t nbytes) | 468 | __be32 * xdr_reserve_space(struct xdr_stream *xdr, size_t nbytes) |
469 | { | 469 | { |
470 | uint32_t *p = xdr->p; | 470 | __be32 *p = xdr->p; |
471 | uint32_t *q; | 471 | __be32 *q; |
472 | 472 | ||
473 | /* align nbytes on the next 32-bit boundary */ | 473 | /* align nbytes on the next 32-bit boundary */ |
474 | nbytes += 3; | 474 | nbytes += 3; |
@@ -524,7 +524,7 @@ EXPORT_SYMBOL(xdr_write_pages); | |||
524 | * @buf: pointer to XDR buffer from which to decode data | 524 | * @buf: pointer to XDR buffer from which to decode data |
525 | * @p: current pointer inside XDR buffer | 525 | * @p: current pointer inside XDR buffer |
526 | */ | 526 | */ |
527 | void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf, uint32_t *p) | 527 | void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf, __be32 *p) |
528 | { | 528 | { |
529 | struct kvec *iov = buf->head; | 529 | struct kvec *iov = buf->head; |
530 | unsigned int len = iov->iov_len; | 530 | unsigned int len = iov->iov_len; |
@@ -534,7 +534,7 @@ void xdr_init_decode(struct xdr_stream *xdr, struct xdr_buf *buf, uint32_t *p) | |||
534 | xdr->buf = buf; | 534 | xdr->buf = buf; |
535 | xdr->iov = iov; | 535 | xdr->iov = iov; |
536 | xdr->p = p; | 536 | xdr->p = p; |
537 | xdr->end = (uint32_t *)((char *)iov->iov_base + len); | 537 | xdr->end = (__be32 *)((char *)iov->iov_base + len); |
538 | } | 538 | } |
539 | EXPORT_SYMBOL(xdr_init_decode); | 539 | EXPORT_SYMBOL(xdr_init_decode); |
540 | 540 | ||
@@ -548,10 +548,10 @@ EXPORT_SYMBOL(xdr_init_decode); | |||
548 | * If so return the current pointer, then update the current | 548 | * If so return the current pointer, then update the current |
549 | * pointer position. | 549 | * pointer position. |
550 | */ | 550 | */ |
551 | uint32_t * xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes) | 551 | __be32 * xdr_inline_decode(struct xdr_stream *xdr, size_t nbytes) |
552 | { | 552 | { |
553 | uint32_t *p = xdr->p; | 553 | __be32 *p = xdr->p; |
554 | uint32_t *q = p + XDR_QUADLEN(nbytes); | 554 | __be32 *q = p + XDR_QUADLEN(nbytes); |
555 | 555 | ||
556 | if (unlikely(q > xdr->end || q < p)) | 556 | if (unlikely(q > xdr->end || q < p)) |
557 | return NULL; | 557 | return NULL; |
@@ -599,8 +599,8 @@ void xdr_read_pages(struct xdr_stream *xdr, unsigned int len) | |||
599 | * Position current pointer at beginning of tail, and | 599 | * Position current pointer at beginning of tail, and |
600 | * set remaining message length. | 600 | * set remaining message length. |
601 | */ | 601 | */ |
602 | xdr->p = (uint32_t *)((char *)iov->iov_base + padding); | 602 | xdr->p = (__be32 *)((char *)iov->iov_base + padding); |
603 | xdr->end = (uint32_t *)((char *)iov->iov_base + end); | 603 | xdr->end = (__be32 *)((char *)iov->iov_base + end); |
604 | } | 604 | } |
605 | EXPORT_SYMBOL(xdr_read_pages); | 605 | EXPORT_SYMBOL(xdr_read_pages); |
606 | 606 | ||
@@ -624,8 +624,8 @@ void xdr_enter_page(struct xdr_stream *xdr, unsigned int len) | |||
624 | */ | 624 | */ |
625 | if (len > PAGE_CACHE_SIZE - xdr->buf->page_base) | 625 | if (len > PAGE_CACHE_SIZE - xdr->buf->page_base) |
626 | len = PAGE_CACHE_SIZE - xdr->buf->page_base; | 626 | len = PAGE_CACHE_SIZE - xdr->buf->page_base; |
627 | xdr->p = (uint32_t *)(kaddr + xdr->buf->page_base); | 627 | xdr->p = (__be32 *)(kaddr + xdr->buf->page_base); |
628 | xdr->end = (uint32_t *)((char *)xdr->p + len); | 628 | xdr->end = (__be32 *)((char *)xdr->p + len); |
629 | } | 629 | } |
630 | EXPORT_SYMBOL(xdr_enter_page); | 630 | EXPORT_SYMBOL(xdr_enter_page); |
631 | 631 | ||
@@ -743,7 +743,7 @@ out: | |||
743 | int | 743 | int |
744 | xdr_decode_word(struct xdr_buf *buf, int base, u32 *obj) | 744 | xdr_decode_word(struct xdr_buf *buf, int base, u32 *obj) |
745 | { | 745 | { |
746 | u32 raw; | 746 | __be32 raw; |
747 | int status; | 747 | int status; |
748 | 748 | ||
749 | status = read_bytes_from_xdr_buf(buf, base, &raw, sizeof(*obj)); | 749 | status = read_bytes_from_xdr_buf(buf, base, &raw, sizeof(*obj)); |
@@ -756,7 +756,7 @@ xdr_decode_word(struct xdr_buf *buf, int base, u32 *obj) | |||
756 | int | 756 | int |
757 | xdr_encode_word(struct xdr_buf *buf, int base, u32 obj) | 757 | xdr_encode_word(struct xdr_buf *buf, int base, u32 obj) |
758 | { | 758 | { |
759 | u32 raw = htonl(obj); | 759 | __be32 raw = htonl(obj); |
760 | 760 | ||
761 | return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj)); | 761 | return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj)); |
762 | } | 762 | } |
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 1f786f68729d..80857470dc11 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
@@ -594,7 +594,7 @@ static void xprt_connect_status(struct rpc_task *task) | |||
594 | * @xid: RPC XID of incoming reply | 594 | * @xid: RPC XID of incoming reply |
595 | * | 595 | * |
596 | */ | 596 | */ |
597 | struct rpc_rqst *xprt_lookup_rqst(struct rpc_xprt *xprt, u32 xid) | 597 | struct rpc_rqst *xprt_lookup_rqst(struct rpc_xprt *xprt, __be32 xid) |
598 | { | 598 | { |
599 | struct list_head *pos; | 599 | struct list_head *pos; |
600 | 600 | ||
@@ -801,7 +801,7 @@ void xprt_reserve(struct rpc_task *task) | |||
801 | spin_unlock(&xprt->reserve_lock); | 801 | spin_unlock(&xprt->reserve_lock); |
802 | } | 802 | } |
803 | 803 | ||
804 | static inline u32 xprt_alloc_xid(struct rpc_xprt *xprt) | 804 | static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) |
805 | { | 805 | { |
806 | return xprt->xid++; | 806 | return xprt->xid++; |
807 | } | 807 | } |
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 9b62923a9c06..28100e019225 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
@@ -548,7 +548,8 @@ static void xs_udp_data_ready(struct sock *sk, int len) | |||
548 | struct rpc_rqst *rovr; | 548 | struct rpc_rqst *rovr; |
549 | struct sk_buff *skb; | 549 | struct sk_buff *skb; |
550 | int err, repsize, copied; | 550 | int err, repsize, copied; |
551 | u32 _xid, *xp; | 551 | u32 _xid; |
552 | __be32 *xp; | ||
552 | 553 | ||
553 | read_lock(&sk->sk_callback_lock); | 554 | read_lock(&sk->sk_callback_lock); |
554 | dprintk("RPC: xs_udp_data_ready...\n"); | 555 | dprintk("RPC: xs_udp_data_ready...\n"); |