lkml.org 
[lkml]   [2022]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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

\
 
 \ /
  Last update: 2022-09-06 12:56    [W:0.131 / U:0.572 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site