It works on arm64 platform, so, Tested-by: Shaokun Zhang <zhangshaokun@xxxxxxxxxxxxx> Thanks, Shaokun 在 2021/2/4 1:30, Christian Brauner 写道: > From: Christoph Hellwig <hch@xxxxxx> > > The mp variable in xfs_file_compat_ioctl is only used when > BROKEN_X86_ALIGNMENT is define. Remove it and just open code the > dereference in a few places. > > Fixes: f736d93d76d3 ("xfs: support idmapped mounts") > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > Acked-by: Christian Brauner <christian.brauner@xxxxxxxxxx> > --- > As mentioned in the thread, I'd take this on top of Christoph's patch if > people are ok with this: > https://git.kernel.org/brauner/h/idmapped_mounts > --- > fs/xfs/xfs_ioctl32.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c > index 926427b19573..33c09ec8e6c0 100644 > --- a/fs/xfs/xfs_ioctl32.c > +++ b/fs/xfs/xfs_ioctl32.c > @@ -438,7 +438,6 @@ 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 = compat_ptr(p); > int error; > > @@ -458,7 +457,7 @@ xfs_file_compat_ioctl( > return xfs_ioc_space(filp, &bf); > } > case XFS_IOC_FSGEOMETRY_V1_32: > - return xfs_compat_ioc_fsgeometry_v1(mp, arg); > + return xfs_compat_ioc_fsgeometry_v1(ip->i_mount, arg); > case XFS_IOC_FSGROWFSDATA_32: { > struct xfs_growfs_data in; > > @@ -467,7 +466,7 @@ xfs_file_compat_ioctl( > error = mnt_want_write_file(filp); > if (error) > return error; > - error = xfs_growfs_data(mp, &in); > + error = xfs_growfs_data(ip->i_mount, &in); > mnt_drop_write_file(filp); > return error; > } > @@ -479,7 +478,7 @@ xfs_file_compat_ioctl( > error = mnt_want_write_file(filp); > if (error) > return error; > - error = xfs_growfs_rt(mp, &in); > + error = xfs_growfs_rt(ip->i_mount, &in); > mnt_drop_write_file(filp); > return error; > } > > base-commit: f736d93d76d3e97d6986c6d26c8eaa32536ccc5c >