diff options
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 e347e106ca3a..8d8f52569f32 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
| @@ -1071,6 +1071,8 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, | |||
| 1071 | } | 1071 | } |
| 1072 | if (pages) { | 1072 | if (pages) { |
| 1073 | pages[i] = page; | 1073 | pages[i] = page; |
| 1074 | |||
| 1075 | flush_anon_page(page, start); | ||
| 1074 | flush_dcache_page(page); | 1076 | flush_dcache_page(page); |
| 1075 | } | 1077 | } |
| 1076 | if (vmas) | 1078 | if (vmas) |
| @@ -2352,10 +2354,8 @@ int make_pages_present(unsigned long addr, unsigned long end) | |||
| 2352 | if (!vma) | 2354 | if (!vma) |
| 2353 | return -1; | 2355 | return -1; |
| 2354 | write = (vma->vm_flags & VM_WRITE) != 0; | 2356 | write = (vma->vm_flags & VM_WRITE) != 0; |
| 2355 | if (addr >= end) | 2357 | BUG_ON(addr >= end); |
| 2356 | BUG(); | 2358 | BUG_ON(end > vma->vm_end); |
| 2357 | if (end > vma->vm_end) | ||
| 2358 | BUG(); | ||
| 2359 | len = (end+PAGE_SIZE-1)/PAGE_SIZE-addr/PAGE_SIZE; | 2359 | len = (end+PAGE_SIZE-1)/PAGE_SIZE-addr/PAGE_SIZE; |
| 2360 | ret = get_user_pages(current, current->mm, addr, | 2360 | ret = get_user_pages(current, current->mm, addr, |
| 2361 | len, write, 0, NULL, NULL); | 2361 | len, write, 0, NULL, NULL); |
