switch EXT4_IOC_MOVE_EXT to fget_light()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 27 Aug 2012 01:01:46 +0000 (21:01 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Sep 2012 01:10:06 +0000 (21:10 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ext4/ioctl.c

index a0ee682..39646f2 100644 (file)
@@ -234,7 +234,7 @@ group_extend_out:
        case EXT4_IOC_MOVE_EXT: {
                struct move_extent me;
                struct file *donor_filp;
-               int err;
+               int err, fput_needed;
 
                if (!(filp->f_mode & FMODE_READ) ||
                    !(filp->f_mode & FMODE_WRITE))
@@ -245,7 +245,7 @@ group_extend_out:
                        return -EFAULT;
                me.moved_len = 0;
 
-               donor_filp = fget(me.donor_fd);
+               donor_filp = fget_light(me.donor_fd, &fput_needed);
                if (!donor_filp)
                        return -EBADF;
 
@@ -274,7 +274,7 @@ group_extend_out:
                                 &me, sizeof(me)))
                        err = -EFAULT;
 mext_out:
-               fput(donor_filp);
+               fput_light(donor_filp, fput_needed);
                return err;
        }