don't reallocate sxp variable passed into xfs_swapext

fixes kernel.org bugzilla 12538, xfs_fsr fails on 2.6.29-rc kernels

Regression caused by 743bb4650d

This was an embarrasing mistake, reallocating the sxp pointer passed
in from the main ioctl switch.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net
Reported-by: Paul Martin <pm@debian.org>
Tested-by: Paul Martin <pm@debian.org>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
Signed-off-by: Felix Blyakher <felixb@sgi.com>
This commit is contained in:
Eric Sandeen 2009-01-25 20:53:00 -06:00 committed by Felix Blyakher
parent 5e1065726e
commit ac12b4e25e

View File

@ -55,17 +55,11 @@ xfs_swapext(
struct file *file, *target_file; struct file *file, *target_file;
int error = 0; 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 */ /* Pull information for the target fd */
file = fget((int)sxp->sx_fdtarget); file = fget((int)sxp->sx_fdtarget);
if (!file) { if (!file) {
error = XFS_ERROR(EINVAL); error = XFS_ERROR(EINVAL);
goto out_free_sxp; goto out;
} }
if (!(file->f_mode & FMODE_WRITE) || (file->f_flags & O_APPEND)) { if (!(file->f_mode & FMODE_WRITE) || (file->f_flags & O_APPEND)) {
@ -109,8 +103,6 @@ xfs_swapext(
fput(target_file); fput(target_file);
out_put_file: out_put_file:
fput(file); fput(file);
out_free_sxp:
kmem_free(sxp);
out: out:
return error; return error;
} }