[PATCH] don't reallocate sxp variable passed into xfs_swapext

Felix Blyakher felixb at sgi.com
Sun Jan 25 21:14:50 CST 2009


On Jan 25, 2009, at 8:53 PM, Eric Sandeen wrote:

> fixes kernel.org bugzilla 12538, xfs_fsr fails on 2.6.29-rc kernels
>
> Regression caused by 743bb4650da9e2595d6cedd01c680b5b9398c74a
>
> This was an embarrasing mistake, reallocating the sxp pointer passed
> in from the main ioctl switch.
>
> Signed-off-by: Eric Sandeen <sandeen at sandeen.net
> Reported-by: Paul Martin <pm at debian.org>
> Tested-by: Paul Martin <pm at debian.org>

Reviewed-by Felix Blyakher <felixb at sgi.com>

> ---
>
>
> Index: linux-2.6/fs/xfs/xfs_dfrag.c
> ===================================================================
> --- linux-2.6.orig/fs/xfs/xfs_dfrag.c
> +++ linux-2.6/fs/xfs/xfs_dfrag.c
> @@ -55,17 +55,11 @@ xfs_swapext(
>  	struct file	*file, *target_file;
>  	int		error = 0;
>
> -	sxp = kmem_alloc(sizeof(xfs_swapext_t), KM_MAYFAIL);
> -	if (!sxp) {
> -		error = XFS_ERROR(ENOMEM);
> -		goto out;
> -	}
> -
>  	/* Pull information for the target fd */
>  	file = fget((int)sxp->sx_fdtarget);
>  	if (!file) {
>  		error = XFS_ERROR(EINVAL);
> -		goto out_free_sxp;
> +		goto out;
>  	}
>
>  	if (!(file->f_mode & FMODE_WRITE) || (file->f_flags & O_APPEND)) {
> @@ -109,8 +103,6 @@ xfs_swapext(
>  	fput(target_file);
>   out_put_file:
>  	fput(file);
> - out_free_sxp:
> -	kmem_free(sxp);
>   out:
>  	return error;
>  }
>
>
>
> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs




More information about the xfs mailing list