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

Commit 69c90702 authored by Davidlohr Bueso's avatar Davidlohr Bueso Committed by Tony Luck
Browse files

ia64/err-inject: Use get_user_pages_fast()



At the point of sysfs callback, the call to gup is
done without mmap_sem (or any lock for that matter).
This is racy. As such, use the get_user_pages_fast()
alternative and safely avoid taking the lock, if possible.

Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 339d541a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ store_virtual_to_phys(struct device *dev, struct device_attribute *attr,
	u64 virt_addr=simple_strtoull(buf, NULL, 16);
	int ret;

	ret = get_user_pages(virt_addr, 1, FOLL_WRITE, NULL, NULL);
	ret = get_user_pages_fast(virt_addr, 1, FOLL_WRITE, NULL);
	if (ret<=0) {
#ifdef ERR_INJ_DEBUG
		printk("Virtual address %lx is not existing.\n",virt_addr);