]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
btrfs: use GFP_KERNEL for allocations in ioctl handlers
authorDavid Sterba <dsterba@suse.com>
Wed, 4 Nov 2015 14:38:29 +0000 (15:38 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 3 Dec 2015 14:03:43 +0000 (15:03 +0100)
We don't have to use GFP_NOFS in the ioctl handlers because there's no
risk of looping through the allocators back to the filesystem. This
patch covers only allocations that are directly in the ioctl handlers.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ioctl.c

index da94138eb85eb3f15f127b08c54a113715956686..2f4a5c26a14fcd60cdde144e04c834d029cde9b4 100644 (file)
@@ -4147,7 +4147,7 @@ static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
                return -ENOMEM;
 
        space_args.total_spaces = 0;
-       dest = kmalloc(alloc_size, GFP_NOFS);
+       dest = kmalloc(alloc_size, GFP_KERNEL);
        if (!dest)
                return -ENOMEM;
        dest_orig = dest;
@@ -4673,7 +4673,7 @@ locked:
                goto out_bargs;
        }
 
-       bctl = kzalloc(sizeof(*bctl), GFP_NOFS);
+       bctl = kzalloc(sizeof(*bctl), GFP_KERNEL);
        if (!bctl) {
                ret = -ENOMEM;
                goto out_bargs;
@@ -4759,7 +4759,7 @@ static long btrfs_ioctl_balance_progress(struct btrfs_root *root,
                goto out;
        }
 
-       bargs = kzalloc(sizeof(*bargs), GFP_NOFS);
+       bargs = kzalloc(sizeof(*bargs), GFP_KERNEL);
        if (!bargs) {
                ret = -ENOMEM;
                goto out;
@@ -5019,7 +5019,7 @@ static long btrfs_ioctl_quota_rescan_status(struct file *file, void __user *arg)
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
 
-       qsa = kzalloc(sizeof(*qsa), GFP_NOFS);
+       qsa = kzalloc(sizeof(*qsa), GFP_KERNEL);
        if (!qsa)
                return -ENOMEM;
 
@@ -5149,7 +5149,7 @@ static long btrfs_ioctl_set_received_subvol_32(struct file *file,
                goto out;
        }
 
-       args64 = kmalloc(sizeof(*args64), GFP_NOFS);
+       args64 = kmalloc(sizeof(*args64), GFP_KERNEL);
        if (!args64) {
                ret = -ENOMEM;
                goto out;