[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 11/14] tee: convert shm mmap hook to mmap_prepare



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




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.