Before passing 'start' to find_vma() we need to remove
tags from it to get sane results.

Signed-off-by: Volodymyr Babchuk <[email protected]>
---
 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);
-- 
2.27.0

Reply via email to