Re: [PATCH stable 5.15] xfs: remove incorrect ASSERT in xfs_rename

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 07, 2022 at 03:58:35PM -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, so please backport it to 5.15 first.
> 
> 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")
> Reported-by: Ayushman Dutta <ayudutta@xxxxxxxxxx>
> Signed-off-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx>

Looks good to me, but you really ought to send 5.10 patches to the 5.10
XFS maintainer (Amir, now cc'd).  (Yes, this is a recent change.) ;)

Acked-by: Darrick J. Wong <djwong@xxxxxxxxxx>

--D

> ---
> I will send another patch for 4.9 - 5.4 because of a conflict with idmapped
> mount changes.
> ---
>  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 2477e301fa82..c19f3ca605af 100644
> --- a/fs/xfs/xfs_inode.c
> +++ b/fs/xfs/xfs_inode.c
> @@ -3128,7 +3128,6 @@ xfs_rename(
>  	 * appropriately.
>  	 */
>  	if (flags & RENAME_WHITEOUT) {
> -		ASSERT(!(flags & (RENAME_NOREPLACE | RENAME_EXCHANGE)));
>  		error = xfs_rename_alloc_whiteout(mnt_userns, target_dp, &wip);
>  		if (error)
>  			return error;
> -- 
> 2.30.2
> 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux