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:3.230 / U:1.444 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site