The pagewalk code already passes the value as the hmask parameter.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 mm/hmm.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/mm/hmm.c b/mm/hmm.c
index f26d6abc4ed2..03d37e102e3b 100644
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -771,19 +771,16 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, 
unsigned long hmask,
                                      struct mm_walk *walk)
 {
 #ifdef CONFIG_HUGETLB_PAGE
-       unsigned long addr = start, i, pfn, mask;
+       unsigned long addr = start, i, pfn;
        struct hmm_vma_walk *hmm_vma_walk = walk->private;
        struct hmm_range *range = hmm_vma_walk->range;
        struct vm_area_struct *vma = walk->vma;
-       struct hstate *h = hstate_vma(vma);
        uint64_t orig_pfn, cpu_flags;
        bool fault, write_fault;
        spinlock_t *ptl;
        pte_t entry;
        int ret = 0;
 
-       mask = huge_page_size(h) - 1;
-
        ptl = huge_pte_lock(hstate_vma(vma), walk->mm, pte);
        entry = huge_ptep_get(pte);
 
@@ -799,7 +796,7 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned 
long hmask,
                goto unlock;
        }
 
-       pfn = pte_pfn(entry) + ((start & mask) >> PAGE_SHIFT);
+       pfn = pte_pfn(entry) + ((start & ~hmask) >> PAGE_SHIFT);
        for (; addr < end; addr += PAGE_SIZE, i++, pfn++)
                range->pfns[i] = hmm_device_entry_from_pfn(range, pfn) |
                                 cpu_flags;
-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to