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. --- 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