Re: [PATCH v9 2/6] iommufd: Allow passing in iopt_access_list_id to iopt_remove_access()

From: Nicolin Chen
Date: Thu Jul 27 2023 - 05:16:38 EST


On Thu, Jul 27, 2023 at 12:23:07AM -0700, Nicolin Chen wrote:

> This is a preparatory change for ioas replacement support for access.
> The replacement routine does an iopt_add_access() at a new IOAS first
> and then iopt_remove_access() at the old IOAS upon the success of the
> first call. However, the first call overrides the iopt_access_list_id
> in the access struct, resulting in that id un-erased in the xarray.
>
> Add an iopt_access_list_id in iopt_remove_access, so the replacement
> routine can save the id before it gets overwritten, and pass the id
> in iopt_remove_access() for a proper cleanup.
>
> The existing callers should just pass in access->iopt_access_list_id.
>
> Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx>

Forgot to add:
Suggested-by: Jason Gunthorpe <jgg@xxxxxxxxxx>