On Fri, Mar 24, 2023 at 03:02:46AM +0000, Tian, Kevin wrote:
External email: Use caution opening links or attachments
From: Nicolin Chen nicolinc@nvidia.com Sent: Thursday, March 23, 2023 4:33 PM
+int iommufd_access_replace(struct iommufd_access *access, u32 ioas_id) +{
struct iommufd_ioas *new_ioas;mutex_lock(&access->ioas_lock);if (!access->ioas) { mutex_unlock(&access->ioas_lock);
iommufd_put_object(obj);return rc;
return -ENOENT;}if (access->ioas->obj.id == ioas_id) {mutex_unlock(&access->ioas_lock);return 0; }
iommufd_ref_to_users(obj);
new_ioas = iommufd_access_change_pt(access, ioas_id);if (IS_ERR(new_ioas)) {mutex_unlock(&access->ioas_lock);return PTR_ERR(new_ioas);}__iommufd_access_detach(access); access->ioas = new_ioas; access->ioas_unpin = new_ioas;Above three lines can be moved into iommufd_access_change_pt():
If (access->ioas) __iommufd_access_detach(access); access->ioas = new_ioas; access->ioas_unpin = new_ioas;Then both attach/replace can end by calling the common function.
OK. Will do that in v6.
Thanks Nicolin