From ed8a16d0a4c05f3dc281c36f178d414b16ee7785 Mon Sep 17 00:00:00 2001 From: Benny Halevy Date: Fri, 14 Aug 2009 17:18:49 +0300 Subject: [PATCH] --- yaml --- r: 158581 b: refs/heads/master c: 98866b5abe1513cdacc011874ca045d40002eccd h: refs/heads/master i: 158579: c84b5993ad0be18e5a833117f86684a08355d326 v: v3 --- [refs] | 2 +- trunk/include/linux/sunrpc/xdr.h | 5 ++--- trunk/net/sunrpc/xdr.c | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index baee2ba9bb17..cb48d1b405d6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9f162d2a810b4db48f7b8d7e734d0932c81ec2a1 +refs/heads/master: 98866b5abe1513cdacc011874ca045d40002eccd diff --git a/trunk/include/linux/sunrpc/xdr.h b/trunk/include/linux/sunrpc/xdr.h index f94bbdc75c4b..7da466ba4b0d 100644 --- a/trunk/include/linux/sunrpc/xdr.h +++ b/trunk/include/linux/sunrpc/xdr.h @@ -124,9 +124,8 @@ xdr_encode_hyper(__be32 *p, __u64 val) static inline __be32 * xdr_decode_hyper(__be32 *p, __u64 *valp) { - *valp = ((__u64) ntohl(*p++)) << 32; - *valp |= ntohl(*p++); - return p; + *valp = be64_to_cpup((__be64 *)p); + return p + 2; } /* diff --git a/trunk/net/sunrpc/xdr.c b/trunk/net/sunrpc/xdr.c index 0d05d2554b42..8bd690c48b69 100644 --- a/trunk/net/sunrpc/xdr.c +++ b/trunk/net/sunrpc/xdr.c @@ -35,7 +35,7 @@ xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj) { unsigned int len; - if ((len = ntohl(*p++)) > XDR_MAX_NETOBJ) + if ((len = be32_to_cpu(*p++)) > XDR_MAX_NETOBJ) return NULL; obj->len = len; obj->data = (u8 *) p; @@ -101,7 +101,7 @@ xdr_decode_string_inplace(__be32 *p, char **sp, { u32 len; - len = ntohl(*p++); + len = be32_to_cpu(*p++); if (len > maxlen) return NULL; *lenp = len; @@ -771,7 +771,7 @@ xdr_decode_word(struct xdr_buf *buf, unsigned int base, u32 *obj) status = read_bytes_from_xdr_buf(buf, base, &raw, sizeof(*obj)); if (status) return status; - *obj = ntohl(raw); + *obj = be32_to_cpu(raw); return 0; } EXPORT_SYMBOL_GPL(xdr_decode_word);