X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=fs%2Flockd%2Fxdr4.c;h=ae4d6b426c6238b2a06963fb5397747596b59fd8;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=10562d31f0739109048121764d8c9f0dd1f18155;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/fs/lockd/xdr4.c b/fs/lockd/xdr4.c index 10562d31f..ae4d6b426 100644 --- a/fs/lockd/xdr4.c +++ b/fs/lockd/xdr4.c @@ -56,16 +56,16 @@ nlm4_decode_cookie(u32 *p, struct nlm_cookie *c) c->len=4; memset(c->data, 0, 4); /* hockeypux brain damage */ } - else if(len<=8) + else if(len<=NLM_MAXCOOKIELEN) { c->len=len; memcpy(c->data, p, len); - p+=(len+3)>>2; + p+=XDR_QUADLEN(len); } else { printk(KERN_NOTICE - "lockd: bad cookie size %d (only cookies under 8 bytes are supported.)\n", len); + "lockd: bad cookie size %d (only cookies under %d bytes are supported.)\n", len, NLM_MAXCOOKIELEN); return NULL; } return p; @@ -76,7 +76,7 @@ nlm4_encode_cookie(u32 *p, struct nlm_cookie *c) { *p++ = htonl(c->len); memcpy(p, c->data, c->len); - p+=(c->len+3)>>2; + p+=XDR_QUADLEN(c->len); return p; } @@ -515,7 +515,7 @@ nlm4clt_decode_res(struct rpc_rqst *req, u32 *p, struct nlm_res *resp) * Buffer requirements for NLM */ #define NLM4_void_sz 0 -#define NLM4_cookie_sz 3 /* 1 len , 2 data */ +#define NLM4_cookie_sz 1+XDR_QUADLEN(NLM_MAXCOOKIELEN) #define NLM4_caller_sz 1+XDR_QUADLEN(NLM_MAXSTRLEN) #define NLM4_netobj_sz 1+XDR_QUADLEN(XDR_MAX_NETOBJ) /* #define NLM4_owner_sz 1+XDR_QUADLEN(NLM4_MAXOWNER) */