diff options
-rw-r--r-- | fs/btrfs/ioctl.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 5556e9ea2a4b..a4d2856a4df1 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c | |||
@@ -3577,7 +3577,7 @@ static int btrfs_extent_same(struct inode *src, u64 loff, u64 olen, | |||
3577 | ret = btrfs_extent_same_range(src, loff, BTRFS_MAX_DEDUPE_LEN, | 3577 | ret = btrfs_extent_same_range(src, loff, BTRFS_MAX_DEDUPE_LEN, |
3578 | dst, dst_loff, &cmp); | 3578 | dst, dst_loff, &cmp); |
3579 | if (ret) | 3579 | if (ret) |
3580 | goto out_unlock; | 3580 | goto out_free; |
3581 | 3581 | ||
3582 | loff += BTRFS_MAX_DEDUPE_LEN; | 3582 | loff += BTRFS_MAX_DEDUPE_LEN; |
3583 | dst_loff += BTRFS_MAX_DEDUPE_LEN; | 3583 | dst_loff += BTRFS_MAX_DEDUPE_LEN; |
@@ -3587,16 +3587,16 @@ static int btrfs_extent_same(struct inode *src, u64 loff, u64 olen, | |||
3587 | ret = btrfs_extent_same_range(src, loff, tail_len, dst, | 3587 | ret = btrfs_extent_same_range(src, loff, tail_len, dst, |
3588 | dst_loff, &cmp); | 3588 | dst_loff, &cmp); |
3589 | 3589 | ||
3590 | out_free: | ||
3591 | kvfree(cmp.src_pages); | ||
3592 | kvfree(cmp.dst_pages); | ||
3593 | |||
3590 | out_unlock: | 3594 | out_unlock: |
3591 | if (same_inode) | 3595 | if (same_inode) |
3592 | inode_unlock(src); | 3596 | inode_unlock(src); |
3593 | else | 3597 | else |
3594 | btrfs_double_inode_unlock(src, dst); | 3598 | btrfs_double_inode_unlock(src, dst); |
3595 | 3599 | ||
3596 | out_free: | ||
3597 | kvfree(cmp.src_pages); | ||
3598 | kvfree(cmp.dst_pages); | ||
3599 | |||
3600 | return ret; | 3600 | return ret; |
3601 | } | 3601 | } |
3602 | 3602 | ||