diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-10 09:01:23 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-21 13:08:22 -0700 | 
| commit | d06063cc221fdefcab86589e79ddfdb7c0e14b63 (patch) | |
| tree | 00ccaf8c1992b57a4445d78b9eae25fde0b3ab31 /mm/memory.c | |
| parent | 30c9f3a9fae79517bca595826a19c6855fbb6d32 (diff) | |
| download | olio-linux-3.10-d06063cc221fdefcab86589e79ddfdb7c0e14b63.tar.xz olio-linux-3.10-d06063cc221fdefcab86589e79ddfdb7c0e14b63.zip  | |
Move FAULT_FLAG_xyz into handle_mm_fault() callers
This allows the callers to now pass down the full set of FAULT_FLAG_xyz
flags to handle_mm_fault().  All callers have been (mechanically)
converted to the new calling convention, there's almost certainly room
for architectures to clean up their code and then add FAULT_FLAG_RETRY
when that support is added.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
| -rw-r--r-- | mm/memory.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/mm/memory.c b/mm/memory.c index e6a9700359d..98bcb90d595 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1310,8 +1310,9 @@ int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,  			cond_resched();  			while (!(page = follow_page(vma, start, foll_flags))) {  				int ret; -				ret = handle_mm_fault(mm, vma, start, -						foll_flags & FOLL_WRITE); + +				/* FOLL_WRITE matches FAULT_FLAG_WRITE! */ +				ret = handle_mm_fault(mm, vma, start, foll_flags & FOLL_WRITE);  				if (ret & VM_FAULT_ERROR) {  					if (ret & VM_FAULT_OOM)  						return i ? i : -ENOMEM; @@ -2958,13 +2959,12 @@ unlock:   * By the time we get here, we already hold the mm semaphore   */  int handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma, -		unsigned long address, int write_access) +		unsigned long address, unsigned int flags)  {  	pgd_t *pgd;  	pud_t *pud;  	pmd_t *pmd;  	pte_t *pte; -	unsigned int flags = write_access ? FAULT_FLAG_WRITE : 0;  	__set_current_state(TASK_RUNNING);  |