diff options
Diffstat (limited to 'mm/filemap_xip.c')
| -rw-r--r-- | mm/filemap_xip.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c index 3e744abcce9d..380ab402d711 100644 --- a/mm/filemap_xip.c +++ b/mm/filemap_xip.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #include <linux/module.h> | 13 | #include <linux/module.h> |
| 14 | #include <linux/uio.h> | 14 | #include <linux/uio.h> |
| 15 | #include <linux/rmap.h> | 15 | #include <linux/rmap.h> |
| 16 | #include <linux/mmu_notifier.h> | ||
| 16 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
| 17 | #include <asm/tlbflush.h> | 18 | #include <asm/tlbflush.h> |
| 18 | #include <asm/io.h> | 19 | #include <asm/io.h> |
| @@ -188,7 +189,7 @@ __xip_unmap (struct address_space * mapping, | |||
| 188 | if (pte) { | 189 | if (pte) { |
| 189 | /* Nuke the page table entry. */ | 190 | /* Nuke the page table entry. */ |
| 190 | flush_cache_page(vma, address, pte_pfn(*pte)); | 191 | flush_cache_page(vma, address, pte_pfn(*pte)); |
| 191 | pteval = ptep_clear_flush(vma, address, pte); | 192 | pteval = ptep_clear_flush_notify(vma, address, pte); |
| 192 | page_remove_rmap(page, vma); | 193 | page_remove_rmap(page, vma); |
| 193 | dec_mm_counter(mm, file_rss); | 194 | dec_mm_counter(mm, file_rss); |
| 194 | BUG_ON(pte_dirty(pteval)); | 195 | BUG_ON(pte_dirty(pteval)); |
| @@ -380,7 +381,7 @@ xip_file_write(struct file *filp, const char __user *buf, size_t len, | |||
| 380 | if (count == 0) | 381 | if (count == 0) |
| 381 | goto out_backing; | 382 | goto out_backing; |
| 382 | 383 | ||
| 383 | ret = remove_suid(filp->f_path.dentry); | 384 | ret = file_remove_suid(filp); |
| 384 | if (ret) | 385 | if (ret) |
| 385 | goto out_backing; | 386 | goto out_backing; |
| 386 | 387 | ||
