From: Jérôme Glisse <jgli...@redhat.com>

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.

Signed-off-by: Jérôme Glisse <jgli...@redhat.com>
Cc: sta...@vger.kernel.org
Cc: Evgeny Baskakov <ebaska...@nvidia.com>
Cc: Ralph Campbell <rcampb...@nvidia.com>
Cc: Mark Hairgrove <mhairgr...@nvidia.com>
Cc: John Hubbard <jhubb...@nvidia.com>
---
 mm/hmm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/hmm.c b/mm/hmm.c
index 667944630dc9..f5631e1a7319 100644
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -312,7 +312,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;
 
-- 
2.14.3

Reply via email to