diff --git a/mm/util.c b/mm/util.c index 34e57fae959decc1edf0805ca5bf40b1ef40d8de..4b93ffa6df96e7837a2f72233a9d3663c1ef06d8 100644 --- a/mm/util.c +++ b/mm/util.c @@ -156,12 +156,7 @@ void *memdup_user(const void __user *src, size_t len) { void *p; - /* - * Always use GFP_KERNEL, since copy_from_user() can sleep and - * cause pagefault, which makes it pointless to use GFP_NOFS - * or GFP_ATOMIC. - */ - p = kmalloc_track_caller(len, GFP_KERNEL); + p = kmalloc_track_caller(len, GFP_USER); if (!p) return ERR_PTR(-ENOMEM);