On Thu, Jul 07, 2022 at 04:07:53PM -0700, Kuniyuki Iwashima wrote: > From: Eric Sandeen <sandeen@xxxxxxxxxx> > > commit e445976537ad139162980bee015b7364e5b64fff upstream. > > Ayushman Dutta reported our 5.10 kernel hit the warning. It was because > the original commit misses a Fixes tag and was not backported to the stable > tree. The fix is merged in 5.16, but it conflicts in 4.9 - 5.10 because > of the idmapped mount changes: > > ++<<<<<<< HEAD > + ASSERT(!(flags & (RENAME_NOREPLACE | RENAME_EXCHANGE))); > + error = xfs_rename_alloc_whiteout(target_dp, &wip); > ++======= > + error = xfs_rename_alloc_whiteout(mnt_userns, target_dp, &wip); > ++>>>>>>> e445976537ad (xfs: remove incorrect ASSERT in xfs_rename) > > We can resolve this by removing mnt_userns from the argument. > > This ASSERT in xfs_rename is a) incorrect, because > (RENAME_WHITEOUT|RENAME_NOREPLACE) is a valid combination, and > b) unnecessary, because actual invalid flag combinations are already > handled at the vfs level in do_renameat2() before we get called. > So, remove it. > > Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > Fixes: 7dcf5c3e4527 ("xfs: add RENAME_WHITEOUT support") > Signed-off-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> > --- > I confirmed this can be applied cleanly on the latest 4.9 - 5.10 stable > branch, but if there is any problem, please let me know. LGTM Acked-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > fs/xfs/xfs_inode.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index e958b1c74561..03497741aef7 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -3170,7 +3170,6 @@ xfs_rename( > * appropriately. > */ > if (flags & RENAME_WHITEOUT) { > - ASSERT(!(flags & (RENAME_NOREPLACE | RENAME_EXCHANGE))); > error = xfs_rename_alloc_whiteout(target_dp, &wip); > if (error) > return error; > -- > 2.30.2 >