[PATCH 11/14] tee: convert shm mmap hook to mmap_prepare
From: Lorenzo Stoakes (ARM)
Date: Thu Nov 05 2026 - 16:12:05 EST
Move from the deprecated mmap hook to the new mmap_prepare hook, using the
PFN remap mmap action to map the shared memory.
Signed-off-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
---
drivers/tee/tee_shm.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/tee/tee_shm.c b/drivers/tee/tee_shm.c
index daa4af1e089e..8fcbf0232aeb 100644
--- a/drivers/tee/tee_shm.c
+++ b/drivers/tee/tee_shm.c
@@ -567,10 +567,9 @@ static int tee_shm_fop_release(struct inode *inode, struct file *filp)
return 0;
}
-static int tee_shm_fop_mmap(struct file *filp, struct vm_area_struct *vma)
+static int tee_shm_fop_mmap_prepare(struct vm_area_desc *desc)
{
- struct tee_shm *shm = filp->private_data;
- size_t size = vma->vm_end - vma->vm_start;
+ struct tee_shm *shm = desc->file->private_data;
/* Refuse sharing shared memory provided by application */
if (shm->flags & TEE_SHM_USER_MAPPED)
@@ -580,17 +579,18 @@ static int tee_shm_fop_mmap(struct file *filp, struct vm_area_struct *vma)
return -EINVAL;
/* check for overflowing the buffer's size */
- if (vma->vm_pgoff + vma_pages(vma) > shm->size >> PAGE_SHIFT)
+ if (desc->pgoff + vma_desc_pages(desc) > shm->size >> PAGE_SHIFT)
return -EINVAL;
- return remap_pfn_range(vma, vma->vm_start, shm->paddr >> PAGE_SHIFT,
- size, vma->vm_page_prot);
+ mmap_action_remap_full(desc, shm->paddr >> PAGE_SHIFT);
+
+ return 0;
}
static const struct file_operations tee_shm_fops = {
.owner = THIS_MODULE,
.release = tee_shm_fop_release,
- .mmap = tee_shm_fop_mmap,
+ .mmap_prepare = tee_shm_fop_mmap_prepare,
};
/**
--
2.56.0