Re: [PATCH 1/1] iommu/vt-d: Fix lockdep splat in intel_pasid_get_entry()

From: Joerg Roedel
Date: Fri Mar 19 2021 - 05:09:23 EST


Hi Baolu,

On Fri, Mar 19, 2021 at 09:02:34AM +0800, Lu Baolu wrote:
> This code modifies the pasid directory entry. The pasid directory
> entries are allocated on demand and will never be freed.
>
> > What you need to do here is to retry the whole path by adding a goto
> > to before the first get_pasid_table_from_pde() call.
>
> Yes. Retrying by adding a goto makes the code clearer.
>
> >
> > Btw, what makes sure that the pasid_entry does not go away when it is
> > returned here?
>
> As explained above, it handles the pasid directory table entry which
> won't go away.

Okay, I think the goto is a good idea anyway, in case this changes
someday. Please also add a comment to this code stating that the entries
are never freed.

Regards,

Joerg