Message ID | 20210820201830.2005563-8-l.stach@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/8] drm/etnaviv: return context from etnaviv_iommu_context_get | expand |
Am Fr., 20. Aug. 2021 um 22:18 Uhr schrieb Lucas Stach <l.stach@pengutronix.de>: > > When we forcefully evict a mapping from the the address space and thus the > MMU context, the MMU context is leaked, as the mapping no longer points to > it, so it doesn't get freed when the GEM object is destroyed. Add the > mssing context put to fix the leak. > > Cc: stable@vger.kernel.org # 5.4 > Signed-off-by: Lucas Stach <l.stach@pengutronix.de> > Tested-by: Michael Walle <michael@walle.cc> Series is: Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> > --- > drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c > index dab1b58006d8..9fb1a2aadbcb 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c > @@ -199,6 +199,7 @@ static int etnaviv_iommu_find_iova(struct etnaviv_iommu_context *context, > */ > list_for_each_entry_safe(m, n, &list, scan_node) { > etnaviv_iommu_remove_mapping(context, m); > + etnaviv_iommu_context_put(m->context); > m->context = NULL; > list_del_init(&m->mmu_node); > list_del_init(&m->scan_node); > -- > 2.30.2 >
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c index dab1b58006d8..9fb1a2aadbcb 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c @@ -199,6 +199,7 @@ static int etnaviv_iommu_find_iova(struct etnaviv_iommu_context *context, */ list_for_each_entry_safe(m, n, &list, scan_node) { etnaviv_iommu_remove_mapping(context, m); + etnaviv_iommu_context_put(m->context); m->context = NULL; list_del_init(&m->mmu_node); list_del_init(&m->scan_node);