diff --git a/mm/frame_vector.c b/mm/frame_vector.c index c64dca6e27c28c915ad4ce662de764d6da5ef6f1..c431ca81dad5514a2ecc468c30eaa98b1363643f 100644 --- a/mm/frame_vector.c +++ b/mm/frame_vector.c @@ -46,6 +46,8 @@ int get_vaddr_frames(unsigned long start, unsigned int nr_frames, if (WARN_ON_ONCE(nr_frames > vec->nr_allocated)) nr_frames = vec->nr_allocated; + start = untagged_addr(start); + down_read(&mm->mmap_sem); locked = 1; vma = find_vma_intersection(mm, start, start + 1);