diff options
author | Lorenzo Stoakes <lstoakes@gmail.com> | 2016-11-01 15:43:43 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-11-10 09:34:56 -0500 |
commit | 052662cada1f2104dedfab68866e403a508e045c (patch) | |
tree | cc59f907754b5513c99d9795c7039ff4a63849e6 | |
parent | 9d59c6e8ae27638fc733fe759b1a013775e745ee (diff) |
platform: goldfish: pipe: use get_user_pages_unlocked()
Moving from get_user_pages() to get_user_pages_unlocked() simplifies the code
and takes advantage of VM_FAULT_RETRY functionality when faulting in pages.
Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/platform/goldfish/goldfish_pipe.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/platform/goldfish/goldfish_pipe.c b/drivers/platform/goldfish/goldfish_pipe.c index 1aba2c74160e..2b21033f11f0 100644 --- a/drivers/platform/goldfish/goldfish_pipe.c +++ b/drivers/platform/goldfish/goldfish_pipe.c | |||
@@ -308,10 +308,8 @@ static ssize_t goldfish_pipe_read_write(struct file *filp, char __user *buffer, | |||
308 | * returns a small amount, then there's no need to pin that | 308 | * returns a small amount, then there's no need to pin that |
309 | * much memory to the process. | 309 | * much memory to the process. |
310 | */ | 310 | */ |
311 | down_read(¤t->mm->mmap_sem); | 311 | ret = get_user_pages_unlocked(address, 1, &page, |
312 | ret = get_user_pages(address, 1, is_write ? 0 : FOLL_WRITE, | 312 | is_write ? 0 : FOLL_WRITE); |
313 | &page, NULL); | ||
314 | up_read(¤t->mm->mmap_sem); | ||
315 | if (ret < 0) | 313 | if (ret < 0) |
316 | break; | 314 | break; |
317 | 315 | ||