summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSachin Prabhu <sprabhu@redhat.com>2012-03-22 17:46:28 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-03-24 19:33:26 +0100
commit20e0fa98b751facf9a1101edaefbc19c82616a68 (patch)
treeb3a902d953bb60b36886d66d626a68800b020b0a
parentMerge tag 'device-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/p... (diff)
downloadlinux-20e0fa98b751facf9a1101edaefbc19c82616a68.tar.xz
linux-20e0fa98b751facf9a1101edaefbc19c82616a68.zip
Fix length of buffer copied in __nfs4_get_acl_uncached
_copy_from_pages() used to copy data from the temporary buffer to the user passed buffer is passed the wrong size parameter when copying data. res.acl_len contains both the bitmap and acl lenghts while acl_len contains the acl length after adjusting for the bitmap size. Signed-off-by: Sachin Prabhu <sprabhu@redhat.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/nfs4proc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index e809d2305ebf..45df7d4a3acc 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3712,7 +3712,7 @@ static ssize_t __nfs4_get_acl_uncached(struct inode *inode, void *buf, size_t bu
if (acl_len > buflen)
goto out_free;
_copy_from_pages(buf, pages, res.acl_data_offset,
- res.acl_len);
+ acl_len);
}
ret = acl_len;
out_free: