aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/xfs/xfs_ioctl32.c
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2019-07-02 09:39:39 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2019-07-02 09:40:05 -0700
commitf16fe3ecde6237256eeacb3cd582217ffe62c647 (patch)
tree7920fe3702057c4060e02c997ff2a0c96c472e33 /fs/xfs/xfs_ioctl32.c
parentxfs: convert quotacheck to use the new iwalk functions (diff)
downloadwireguard-linux-f16fe3ecde6237256eeacb3cd582217ffe62c647.tar.xz
wireguard-linux-f16fe3ecde6237256eeacb3cd582217ffe62c647.zip
xfs: bulkstat should copy lastip whenever userspace supplies one
When userspace passes in a @lastip pointer we should copy the results back, even if the @ocount pointer is NULL. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Brian Foster <bfoster@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_ioctl32.c')
-rw-r--r--fs/xfs/xfs_ioctl32.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c
index d1967fe67472..3c3fb16685b1 100644
--- a/fs/xfs/xfs_ioctl32.c
+++ b/fs/xfs/xfs_ioctl32.c
@@ -305,14 +305,13 @@ xfs_compat_ioc_bulkstat(
if (error)
return error;
- if (bulkreq.ocount != NULL) {
- if (copy_to_user(bulkreq.lastip, &inlast,
- sizeof(xfs_ino_t)))
- return -EFAULT;
+ if (bulkreq.lastip != NULL &&
+ copy_to_user(bulkreq.lastip, &inlast, sizeof(xfs_ino_t)))
+ return -EFAULT;
- if (copy_to_user(bulkreq.ocount, &count, sizeof(count)))
- return -EFAULT;
- }
+ if (bulkreq.ocount != NULL &&
+ copy_to_user(bulkreq.ocount, &count, sizeof(count)))
+ return -EFAULT;
return 0;
}