diff options
author | Wang Cong <xiyou.wangcong@gmail.com> | 2009-01-21 16:49:16 +0100 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2009-01-21 16:49:16 +0100 |
commit | 19d00cc196a3a66fd074f62b39d219f743b92338 (patch) | |
tree | f3c771837e17d7bcbdfe5b6c9f0911d85c90ca16 /fs/btrfs/super.c | |
parent | Btrfs: fix ioctl arg size (userland incompatible change!) (diff) | |
download | linux-19d00cc196a3a66fd074f62b39d219f743b92338.tar.xz linux-19d00cc196a3a66fd074f62b39d219f743b92338.zip |
Btrfs: cleanup fs/btrfs/super.c::btrfs_control_ioctl()
- Remove the unused local variable 'len';
- Check return value of kmalloc().
Signed-off-by: Wang Cong <wangcong@zeuux.org>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r-- | fs/btrfs/super.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 92c9b543deff..795b6246bcdf 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -583,17 +583,18 @@ static long btrfs_control_ioctl(struct file *file, unsigned int cmd, struct btrfs_ioctl_vol_args *vol; struct btrfs_fs_devices *fs_devices; int ret = -ENOTTY; - int len; if (!capable(CAP_SYS_ADMIN)) return -EPERM; vol = kmalloc(sizeof(*vol), GFP_KERNEL); + if (!vol) + return -ENOMEM; + if (copy_from_user(vol, (void __user *)arg, sizeof(*vol))) { ret = -EFAULT; goto out; } - len = strnlen(vol->name, BTRFS_PATH_NAME_MAX); switch (cmd) { case BTRFS_IOC_SCAN_DEV: |