Loading drivers/staging/android/ion/ion_system_secure_heap.c +15 −0 Original line number Diff line number Diff line Loading @@ -52,9 +52,12 @@ static int get_secure_vmid(unsigned long flags) static void ion_system_secure_heap_free(struct ion_buffer *buffer) { int ret = 0; int i; u32 source_vm; int dest_vmid; int dest_perms; struct sg_table *sgt; struct scatterlist *sg; struct ion_heap *heap = buffer->heap; struct ion_system_secure_heap *secure_heap = container_of(heap, struct ion_system_secure_heap, Loading @@ -76,6 +79,10 @@ static void ion_system_secure_heap_free(struct ion_buffer *buffer) return; } sgt = buffer->priv_virt; for_each_sg(sgt->sgl, sg, sgt->nents, i) ClearPagePrivate(sg_page(sg)); buffer->heap = secure_heap->sys_heap; secure_heap->sys_heap->ops->free(buffer); } Loading @@ -86,9 +93,12 @@ static int ion_system_secure_heap_allocate(struct ion_heap *heap, unsigned long flags) { int ret = 0; int i; u32 source_vm; int dest_vmid; int dest_perms; struct sg_table *sgt; struct scatterlist *sg; struct ion_system_secure_heap *secure_heap = container_of(heap, struct ion_system_secure_heap, heap); Loading Loading @@ -123,6 +133,11 @@ static int ion_system_secure_heap_allocate(struct ion_heap *heap, pr_err("%s: Assign call failed\n", __func__); goto err; } sgt = buffer->priv_virt; for_each_sg(sgt->sgl, sg, sgt->nents, i) SetPagePrivate(sg_page(sg)); return ret; err: Loading Loading
drivers/staging/android/ion/ion_system_secure_heap.c +15 −0 Original line number Diff line number Diff line Loading @@ -52,9 +52,12 @@ static int get_secure_vmid(unsigned long flags) static void ion_system_secure_heap_free(struct ion_buffer *buffer) { int ret = 0; int i; u32 source_vm; int dest_vmid; int dest_perms; struct sg_table *sgt; struct scatterlist *sg; struct ion_heap *heap = buffer->heap; struct ion_system_secure_heap *secure_heap = container_of(heap, struct ion_system_secure_heap, Loading @@ -76,6 +79,10 @@ static void ion_system_secure_heap_free(struct ion_buffer *buffer) return; } sgt = buffer->priv_virt; for_each_sg(sgt->sgl, sg, sgt->nents, i) ClearPagePrivate(sg_page(sg)); buffer->heap = secure_heap->sys_heap; secure_heap->sys_heap->ops->free(buffer); } Loading @@ -86,9 +93,12 @@ static int ion_system_secure_heap_allocate(struct ion_heap *heap, unsigned long flags) { int ret = 0; int i; u32 source_vm; int dest_vmid; int dest_perms; struct sg_table *sgt; struct scatterlist *sg; struct ion_system_secure_heap *secure_heap = container_of(heap, struct ion_system_secure_heap, heap); Loading Loading @@ -123,6 +133,11 @@ static int ion_system_secure_heap_allocate(struct ion_heap *heap, pr_err("%s: Assign call failed\n", __func__); goto err; } sgt = buffer->priv_virt; for_each_sg(sgt->sgl, sg, sgt->nents, i) SetPagePrivate(sg_page(sg)); return ret; err: Loading