Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5023e5cf authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Alasdair G Kergon
Browse files

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: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent 7960123f
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -1556,7 +1556,10 @@ static int copy_params(struct dm_ioctl __user *user, struct dm_ioctl **param)

	secure_data = tmp.flags & DM_SECURE_DATA_FLAG;

	dmi = vmalloc(tmp.data_size);
	/*
	 * Try to avoid low memory issues when a device is suspended.
	 */
	dmi = __vmalloc(tmp.data_size, GFP_NOIO | __GFP_REPEAT | __GFP_HIGH, PAGE_KERNEL);
	if (!dmi) {
		if (secure_data && clear_user(user, tmp.data_size))
			return -EFAULT;
@@ -1656,19 +1659,11 @@ static int ctl_ioctl(uint command, struct dm_ioctl __user *user)
		return -ENOTTY;
	}

	/*
	 * Trying to avoid low memory issues when a device is
	 * suspended.
	 */
	current->flags |= PF_MEMALLOC;

	/*
	 * Copy the parameters into kernel space.
	 */
	r = copy_params(user, &param);

	current->flags &= ~PF_MEMALLOC;

	if (r)
		return r;

+2 −2
Original line number Diff line number Diff line
@@ -268,8 +268,8 @@ enum {

#define DM_VERSION_MAJOR	4
#define DM_VERSION_MINOR	23
#define DM_VERSION_PATCHLEVEL	0
#define DM_VERSION_EXTRA	"-ioctl (2012-07-25)"
#define DM_VERSION_PATCHLEVEL	1
#define DM_VERSION_EXTRA	"-ioctl (2012-12-18)"

/* Status bits */
#define DM_READONLY_FLAG	(1 << 0) /* In/Out */