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>
This commit is contained in:
parent
250f6715a4
commit
20e0fa98b7
@ -3712,7 +3712,7 @@ static ssize_t __nfs4_get_acl_uncached(struct inode *inode, void *buf, size_t bu
|
|||||||
if (acl_len > buflen)
|
if (acl_len > buflen)
|
||||||
goto out_free;
|
goto out_free;
|
||||||
_copy_from_pages(buf, pages, res.acl_data_offset,
|
_copy_from_pages(buf, pages, res.acl_data_offset,
|
||||||
res.acl_len);
|
acl_len);
|
||||||
}
|
}
|
||||||
ret = acl_len;
|
ret = acl_len;
|
||||||
out_free:
|
out_free:
|
||||||
|
Loading…
Reference in New Issue
Block a user