From: Sachin Prabhu Date: Thu, 22 Mar 2012 16:46:28 +0000 (+0000) Subject: Fix length of buffer copied in __nfs4_get_acl_uncached X-Git-Tag: v3.4-rc1~51^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=20e0fa98b751facf9a1101edaefbc19c82616a68;p=thirdparty%2Fkernel%2Flinux.git 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 Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index e809d2305ebf3..45df7d4a3acc1 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: