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) <[email protected]> --- 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
