xfs: compat_ioctl: use compat_ptr()

For 31-bit s390 user space, we have to pass pointer arguments through
compat_ptr() in the compat_ioctl handler.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
Christoph Hellwig 2019-08-15 23:41:06 -07:00 committed by Darrick J. Wong
parent 314e01a6d7
commit 4529e6d7a6

View File

@ -547,7 +547,7 @@ xfs_file_compat_ioctl(
struct inode *inode = file_inode(filp);
struct xfs_inode *ip = XFS_I(inode);
struct xfs_mount *mp = ip->i_mount;
void __user *arg = (void __user *)p;
void __user *arg = compat_ptr(p);
int error;
trace_xfs_file_compat_ioctl(ip);
@ -655,6 +655,6 @@ xfs_file_compat_ioctl(
return xfs_compat_fssetdm_by_handle(filp, arg);
default:
/* try the native version */
return xfs_file_ioctl(filp, cmd, p);
return xfs_file_ioctl(filp, cmd, (unsigned long)arg);
}
}