RE: [PATCH v1 7/8] iommufd/device: Use iommu_group_replace_domain()

From: Tian, Kevin
Date: Mon Feb 06 2023 - 03:46:19 EST


> From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Sent: Thursday, February 2, 2023 3:05 PM
>
> @@ -246,6 +249,18 @@ static int iommufd_device_do_attach(struct
> iommufd_device *idev,
> }
> }
>
> + if (cur_hwpt) {
> + /* Replace the cur_hwpt */
> + mutex_lock(&cur_hwpt->devices_lock);
> + if (cur_hwpt->ioas != hwpt->ioas)
> + iopt_remove_reserved_iova(&cur_hwpt->ioas->iopt,
> + idev->dev);
> + list_del(&cur_hwpt->hwpt_item);

emmm shouldn't this be done only when the device is the last
one attached to the hwpt? and if it's the last one you should
also iopt_table_remove_domain() together with list_del, i.e.
similar housekeeping as done in iommufd_device_detach().