Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 601fd24b authored by Harshdeep Dhatt's avatar Harshdeep Dhatt Committed by Gerrit - the friendly Code Review server
Browse files

msm: kgsl: Fix input checking when unmapping secure buffer



Check the input before trying to dereference the secure
memdesc.

Change-Id: Iae02d9767e5efafe9119d69448eb01507599ba91
Signed-off-by: default avatarHarshdeep Dhatt <hdhatt@codeaurora.org>
Signed-off-by: default avatarUrvashi Agrawal <urvaagra@codeaurora.org>
parent d04f2297
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -165,14 +165,19 @@ static int kgsl_iommu_map_globals(struct kgsl_pagetable *pagetable)
}

void kgsl_iommu_unmap_global_secure_pt_entry(struct kgsl_device *device,
				struct kgsl_memdesc *entry)
				struct kgsl_memdesc *memdesc)
{
	if (!kgsl_mmu_is_secured(&device->mmu))
	if (!kgsl_mmu_is_secured(&device->mmu) || memdesc == NULL)
		return;

	if (entry != NULL && entry->pagetable->name == KGSL_MMU_SECURE_PT)
		kgsl_mmu_unmap(entry->pagetable, entry);
	/* Check if an empty memdesc got passed in */
	if ((memdesc->gpuaddr == 0) || (memdesc->size == 0))
		return;

	if (memdesc->pagetable) {
		if (memdesc->pagetable->name == KGSL_MMU_SECURE_PT)
			kgsl_mmu_unmap(memdesc->pagetable, memdesc);
	}
}

int kgsl_iommu_map_global_secure_pt_entry(struct kgsl_device *device,