diff options
author | Mikulas Patocka <mpatocka@redhat.com> | 2012-12-21 15:23:36 -0500 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2012-12-21 15:23:36 -0500 |
commit | 5023e5cf58e1dae904e2e8b5b9779c33512b75a1 (patch) | |
tree | 4b006347d01a1526a3ee42b5219b90ea9cf4cae7 /drivers/md/dm-ioctl.c | |
parent | 7960123f2d335ded2ac4c510bcd2a236b293b1b1 (diff) |
dm ioctl: remove PF_MEMALLOC
When allocating memory for the userspace ioctl data, set some
appropriate GPF flags directly instead of using PF_MEMALLOC.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm-ioctl.c')
-rw-r--r-- | drivers/md/dm-ioctl.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index a651d528f80d..a37aeba7dc1b 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c | |||
@@ -1556,7 +1556,10 @@ static int copy_params(struct dm_ioctl __user *user, struct dm_ioctl **param) | |||
1556 | 1556 | ||
1557 | secure_data = tmp.flags & DM_SECURE_DATA_FLAG; | 1557 | secure_data = tmp.flags & DM_SECURE_DATA_FLAG; |
1558 | 1558 | ||
1559 | dmi = vmalloc(tmp.data_size); | 1559 | /* |
1560 | * Try to avoid low memory issues when a device is suspended. | ||
1561 | */ | ||
1562 | dmi = __vmalloc(tmp.data_size, GFP_NOIO | __GFP_REPEAT | __GFP_HIGH, PAGE_KERNEL); | ||
1560 | if (!dmi) { | 1563 | if (!dmi) { |
1561 | if (secure_data && clear_user(user, tmp.data_size)) | 1564 | if (secure_data && clear_user(user, tmp.data_size)) |
1562 | return -EFAULT; | 1565 | return -EFAULT; |
@@ -1657,18 +1660,10 @@ static int ctl_ioctl(uint command, struct dm_ioctl __user *user) | |||
1657 | } | 1660 | } |
1658 | 1661 | ||
1659 | /* | 1662 | /* |
1660 | * Trying to avoid low memory issues when a device is | ||
1661 | * suspended. | ||
1662 | */ | ||
1663 | current->flags |= PF_MEMALLOC; | ||
1664 | |||
1665 | /* | ||
1666 | * Copy the parameters into kernel space. | 1663 | * Copy the parameters into kernel space. |
1667 | */ | 1664 | */ |
1668 | r = copy_params(user, ¶m); | 1665 | r = copy_params(user, ¶m); |
1669 | 1666 | ||
1670 | current->flags &= ~PF_MEMALLOC; | ||
1671 | |||
1672 | if (r) | 1667 | if (r) |
1673 | return r; | 1668 | return r; |
1674 | 1669 | ||