diff options
| author | Dave Airlie <airlied@redhat.com> | 2018-03-28 14:30:41 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2018-03-28 14:30:41 +1000 |
| commit | 2b4f44eec2be2688511c2b617d0e1b4f94c45ba4 (patch) | |
| tree | 533c03602f4ae6d6404db6fa56c88e6f83e1bebe /mm/gup.c | |
| parent | 33d009cd889490838c5db9b9339856c9e3d3facc (diff) | |
| parent | 3eb2ce825ea1ad89d20f7a3b5780df850e4be274 (diff) | |
| download | talos-op-linux-2b4f44eec2be2688511c2b617d0e1b4f94c45ba4.tar.gz talos-op-linux-2b4f44eec2be2688511c2b617d0e1b4f94c45ba4.zip | |
Backmerge tag 'v4.16-rc7' into drm-next
Linux 4.16-rc7
This was requested by Daniel, and things were getting
a bit hard to reconcile, most of the conflicts were
trivial though.
Diffstat (limited to 'mm/gup.c')
| -rw-r--r-- | mm/gup.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -516,7 +516,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma, } if (ret & VM_FAULT_RETRY) { - if (nonblocking) + if (nonblocking && !(fault_flags & FAULT_FLAG_RETRY_NOWAIT)) *nonblocking = 0; return -EBUSY; } @@ -890,7 +890,10 @@ static __always_inline long __get_user_pages_locked(struct task_struct *tsk, break; } if (*locked) { - /* VM_FAULT_RETRY didn't trigger */ + /* + * VM_FAULT_RETRY didn't trigger or it was a + * FOLL_NOWAIT. + */ if (!pages_done) pages_done = ret; break; |

