diff options
| author | Matthew Wilcox <willy@infradead.org> | 2019-01-08 18:23:25 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-01-08 20:15:11 -0500 |
| commit | 1ed7293ac40c5b1950b8ab21b6bc1838578ae2ad (patch) | |
| tree | 5df045d6baa94bda2d7303456f1828bbf49cb28a | |
| parent | aff876dcf4461f311adbdf39ce48c134b3f99c49 (diff) | |
mm/memory.c: initialise mmu_notifier_range correctly
One of the paths in follow_pte_pmd() initialised the mmu_notifier_range
incorrectly.
Link: http://lkml.kernel.org/r/20190103002126.GM6310@bombadil.infradead.org
Fixes: ac46d4f3c432 ("mm/mmu_notifier: use structure for invalidate_range_start/end calls v2")
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Tested-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Jérôme Glisse <jglisse@redhat.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| -rw-r--r-- | mm/memory.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/memory.c b/mm/memory.c index 5e46836714dc..e11ca9dd823f 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
| @@ -4099,8 +4099,8 @@ static int __follow_pte_pmd(struct mm_struct *mm, unsigned long address, | |||
| 4099 | goto out; | 4099 | goto out; |
| 4100 | 4100 | ||
| 4101 | if (range) { | 4101 | if (range) { |
| 4102 | range->start = address & PAGE_MASK; | 4102 | mmu_notifier_range_init(range, mm, address & PAGE_MASK, |
| 4103 | range->end = range->start + PAGE_SIZE; | 4103 | (address & PAGE_MASK) + PAGE_SIZE); |
| 4104 | mmu_notifier_invalidate_range_start(range); | 4104 | mmu_notifier_invalidate_range_start(range); |
| 4105 | } | 4105 | } |
| 4106 | ptep = pte_offset_map_lock(mm, pmd, address, ptlp); | 4106 | ptep = pte_offset_map_lock(mm, pmd, address, ptlp); |
