diff options
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r-- | fs/btrfs/ioctl.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 9b3d73a0fdc8..e84ef60ffe35 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c | |||
@@ -49,7 +49,6 @@ | |||
49 | #include "print-tree.h" | 49 | #include "print-tree.h" |
50 | #include "volumes.h" | 50 | #include "volumes.h" |
51 | #include "locking.h" | 51 | #include "locking.h" |
52 | #include "ctree.h" | ||
53 | 52 | ||
54 | /* Mask out flags that are inappropriate for the given type of inode. */ | 53 | /* Mask out flags that are inappropriate for the given type of inode. */ |
55 | static inline __u32 btrfs_mask_flags(umode_t mode, __u32 flags) | 54 | static inline __u32 btrfs_mask_flags(umode_t mode, __u32 flags) |
@@ -512,7 +511,7 @@ static int should_defrag_range(struct inode *inode, u64 start, u64 len, | |||
512 | em = btrfs_get_extent(inode, NULL, 0, start, len, 0); | 511 | em = btrfs_get_extent(inode, NULL, 0, start, len, 0); |
513 | unlock_extent(io_tree, start, start + len - 1, GFP_NOFS); | 512 | unlock_extent(io_tree, start, start + len - 1, GFP_NOFS); |
514 | 513 | ||
515 | if (!em) | 514 | if (IS_ERR(em)) |
516 | return 0; | 515 | return 0; |
517 | } | 516 | } |
518 | 517 | ||
@@ -1213,6 +1212,9 @@ static noinline int btrfs_ioctl_ino_lookup(struct file *file, | |||
1213 | return -EPERM; | 1212 | return -EPERM; |
1214 | 1213 | ||
1215 | args = kmalloc(sizeof(*args), GFP_KERNEL); | 1214 | args = kmalloc(sizeof(*args), GFP_KERNEL); |
1215 | if (!args) | ||
1216 | return -ENOMEM; | ||
1217 | |||
1216 | if (copy_from_user(args, argp, sizeof(*args))) { | 1218 | if (copy_from_user(args, argp, sizeof(*args))) { |
1217 | kfree(args); | 1219 | kfree(args); |
1218 | return -EFAULT; | 1220 | return -EFAULT; |
@@ -1376,6 +1378,7 @@ static int btrfs_ioctl_defrag(struct file *file, void __user *argp) | |||
1376 | sizeof(*range))) { | 1378 | sizeof(*range))) { |
1377 | ret = -EFAULT; | 1379 | ret = -EFAULT; |
1378 | kfree(range); | 1380 | kfree(range); |
1381 | goto out; | ||
1379 | } | 1382 | } |
1380 | /* compression requires us to start the IO */ | 1383 | /* compression requires us to start the IO */ |
1381 | if ((range->flags & BTRFS_DEFRAG_RANGE_COMPRESS)) { | 1384 | if ((range->flags & BTRFS_DEFRAG_RANGE_COMPRESS)) { |