diff options
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/mm/memory.c b/mm/memory.c index 1ecca56e0a48..858829d06a92 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -2006,11 +2006,10 @@ int apply_to_page_range(struct mm_struct *mm, unsigned long addr, | |||
2006 | { | 2006 | { |
2007 | pgd_t *pgd; | 2007 | pgd_t *pgd; |
2008 | unsigned long next; | 2008 | unsigned long next; |
2009 | unsigned long start = addr, end = addr + size; | 2009 | unsigned long end = addr + size; |
2010 | int err; | 2010 | int err; |
2011 | 2011 | ||
2012 | BUG_ON(addr >= end); | 2012 | BUG_ON(addr >= end); |
2013 | mmu_notifier_invalidate_range_start(mm, start, end); | ||
2014 | pgd = pgd_offset(mm, addr); | 2013 | pgd = pgd_offset(mm, addr); |
2015 | do { | 2014 | do { |
2016 | next = pgd_addr_end(addr, end); | 2015 | next = pgd_addr_end(addr, end); |
@@ -2018,7 +2017,7 @@ int apply_to_page_range(struct mm_struct *mm, unsigned long addr, | |||
2018 | if (err) | 2017 | if (err) |
2019 | break; | 2018 | break; |
2020 | } while (pgd++, addr = next, addr != end); | 2019 | } while (pgd++, addr = next, addr != end); |
2021 | mmu_notifier_invalidate_range_end(mm, start, end); | 2020 | |
2022 | return err; | 2021 | return err; |
2023 | } | 2022 | } |
2024 | EXPORT_SYMBOL_GPL(apply_to_page_range); | 2023 | EXPORT_SYMBOL_GPL(apply_to_page_range); |