From 0276bcf77c7aa648ac2d36679338edd796b96117 Mon Sep 17 00:00:00 2001 From: Hugh Dickins Date: Tue, 23 Jun 2009 13:52:49 +0100 Subject: [PATCH] --- yaml --- r: 154000 b: refs/heads/master c: d26ed650d9947a786bbda8de9cd914dbeebc1a68 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/memory.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index bcfd4658bcf0..bda07c7154ec 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 788c7df451467df71638dd79a2d63d78c6e13b9c +refs/heads/master: d26ed650d9947a786bbda8de9cd914dbeebc1a68 diff --git a/trunk/mm/memory.c b/trunk/mm/memory.c index 98bcb90d5957..50da9511aa77 100644 --- a/trunk/mm/memory.c +++ b/trunk/mm/memory.c @@ -1311,8 +1311,10 @@ int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm, while (!(page = follow_page(vma, start, foll_flags))) { int ret; - /* FOLL_WRITE matches FAULT_FLAG_WRITE! */ - ret = handle_mm_fault(mm, vma, start, foll_flags & FOLL_WRITE); + ret = handle_mm_fault(mm, vma, start, + (foll_flags & FOLL_WRITE) ? + FAULT_FLAG_WRITE : 0); + if (ret & VM_FAULT_ERROR) { if (ret & VM_FAULT_OOM) return i ? i : -ENOMEM;