From: Brian Masney Date: Mon, 3 Jun 2019 01:01:31 +0000 (-0400) Subject: drm/msm: correct attempted NULL pointer dereference in put_iova X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=d67f1b6d0e0be8240186e3cc998353e52ed6ea31;p=openwrt%2Fstaging%2Fblogic.git drm/msm: correct attempted NULL pointer dereference in put_iova put_iova() would attempt to dereference a NULL pointer via the address space pointer when no IOMMU is present. Correct this by adding the appropriate check. Signed-off-by: Brian Masney Signed-off-by: Rob Clark --- diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 35f55dd25994..d31d9f927887 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -352,8 +352,10 @@ put_iova(struct drm_gem_object *obj) WARN_ON(!mutex_is_locked(&msm_obj->lock)); list_for_each_entry_safe(vma, tmp, &msm_obj->vmas, list) { - msm_gem_purge_vma(vma->aspace, vma); - msm_gem_close_vma(vma->aspace, vma); + if (vma->aspace) { + msm_gem_purge_vma(vma->aspace, vma); + msm_gem_close_vma(vma->aspace, vma); + } del_vma(vma); } }