提交 95ec28cd 编写于 作者: B Benny Halevy 提交者: J. Bruce Fields

nfsd: dynamically skip encoded fattr bitmap in _nfsd4_verify

_nfsd4_verify currently skips 3 words from the encoded buffer begining.
With support for 3-word attr bitmaps in nfsd41, nfsd4_encode_fattr
may encode 1, 2, or 3 words, and not always 2 as it used to be, hence
we need to find out where to skip using the encoded bitmap length.

Note: This patch may be applied over pre-nfsd41 nfsd.
Signed-off-by: NBenny Halevy <bhalevy@panasas.com>
Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
上级 c0d6fc8a
...@@ -775,7 +775,8 @@ _nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, ...@@ -775,7 +775,8 @@ _nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
if (status) if (status)
goto out_kfree; goto out_kfree;
p = buf + 3; /* skip bitmap */
p = buf + 1 + ntohl(buf[0]);
status = nfserr_not_same; status = nfserr_not_same;
if (ntohl(*p++) != verify->ve_attrlen) if (ntohl(*p++) != verify->ve_attrlen)
goto out_kfree; goto out_kfree;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册