btrfs: use GFP_KERNEL for allocations in ioctl handlers
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>
This commit is contained in:
Родитель
1ec218373b
Коммит
8d2db7855e
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче