Before passing 'start' to find_vma() we need to remove tags from it to get sane results.
Signed-off-by: Volodymyr Babchuk volodymyr_babchuk@epam.com --- drivers/tee/optee/call.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/tee/optee/call.c b/drivers/tee/optee/call.c index a5afbe6dee68..61420395137b 100644 --- a/drivers/tee/optee/call.c +++ b/drivers/tee/optee/call.c @@ -562,6 +562,8 @@ static int check_mem_type(unsigned long start, size_t num_pages) struct mm_struct *mm = current->mm; int rc;
+ start = untagged_addr(start); + down_read(&mm->mmap_sem); rc = __check_mem_type(find_vma(mm, start), start + num_pages * PAGE_SIZE);