Messages in this thread | | | Date | Tue, 6 Sep 2022 11:50:26 +0100 | From | John Garry <> | Subject | Re: [PATCH v2 1/2] iova: Remove some magazine pointer NULL checks |
| |
On 06/09/2022 10:28, Ethan Zhao wrote:
Hi Ethan,
>> Signed-off-by: John Garry <john.garry@huawei.com> >> Reviewed-by: Robin Murphy <robin.murphy@arm.com> >> --- >> drivers/iommu/iova.c | 7 ++----- >> 1 file changed, 2 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/iommu/iova.c b/drivers/iommu/iova.c >> index 47d1983dfa2a..580fdf669922 100644 >> --- a/drivers/iommu/iova.c >> +++ b/drivers/iommu/iova.c >> @@ -661,9 +661,6 @@ iova_magazine_free_pfns(struct iova_magazine *mag, >> struct iova_domain *iovad) >> unsigned long flags; >> int i; >> - if (!mag) >> - return; >> - > > iommu_probe_device > ops->probe_finalize(dev); > intel_iommu_probe_finalize > iommu_setup_dma_ops > iommu_dma_init_domain(domain, dma_base, dma_limit, dev) > iova_domain_init_rcaches > { > ... > cpu_rcache->loaded = iova_magazine_alloc(GFP_KERNEL); > cpu_rcache->prev = iova_magazine_alloc(GFP_KERNEL); > if (!cpu_rcache->loaded || !cpu_rcache->prev) { > ret = -ENOMEM; > goto out_err; > > Do you mean iova_magazine_alloc() is impossible to fail ?
No, iova_magazine_alloc() may fail and return NULL. But if it does then we set iovad rcache pointer = NULL in the error path and don't use the rcache.
However we have a !iovad->rcache check on the "fast" alloc but not "insert". I need to check why that is again.
Thanks, john
| |