diff options
author | Jérôme Glisse <jglisse@redhat.com> | 2018-04-11 01:28:27 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-04-11 19:28:30 +0200 |
commit | c719547f032d4610c7a20900baacae26d0b1ff3e (patch) | |
tree | a5e5a046a4cf9abc4e8b2f7df514c31f0ba942f7 /mm/hmm.c | |
parent | mm/hmm: unregister mmu_notifier when last HMM client quit (diff) | |
download | linux-c719547f032d4610c7a20900baacae26d0b1ff3e.tar.xz linux-c719547f032d4610c7a20900baacae26d0b1ff3e.zip |
mm/hmm: hmm_pfns_bad() was accessing wrong struct
The private field of mm_walk struct point to an hmm_vma_walk struct and
not to the hmm_range struct desired. Fix to get proper struct pointer.
Link: http://lkml.kernel.org/r/20180323005527.758-6-jglisse@redhat.com
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Cc: Evgeny Baskakov <ebaskakov@nvidia.com>
Cc: Ralph Campbell <rcampbell@nvidia.com>
Cc: Mark Hairgrove <mhairgrove@nvidia.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/hmm.c')
-rw-r--r-- | mm/hmm.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -336,7 +336,8 @@ static int hmm_pfns_bad(unsigned long addr, unsigned long end, struct mm_walk *walk) { - struct hmm_range *range = walk->private; + struct hmm_vma_walk *hmm_vma_walk = walk->private; + struct hmm_range *range = hmm_vma_walk->range; hmm_pfn_t *pfns = range->pfns; unsigned long i; |