Merge tag 'x86_mm_for_6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[platform/kernel/linux-starfive.git] / mm / madvise.c
index 24c5cff..b5ffbaf 100644 (file)
@@ -1390,8 +1390,6 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh
        size_t len;
        struct blk_plug plug;
 
-       start = untagged_addr(start);
-
        if (!madvise_behavior_valid(behavior))
                return -EINVAL;
 
@@ -1423,6 +1421,9 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh
                mmap_read_lock(mm);
        }
 
+       start = untagged_addr_remote(mm, start);
+       end = start + len;
+
        blk_start_plug(&plug);
        error = madvise_walk_vmas(mm, start, end, behavior,
                        madvise_vma_behavior);