@@ -41,7 +41,7 @@ int iommufd_vfio_compat_ioas_get_id(struct iommufd_ctx *ictx, u32 *out_ioas_id)
4141 if (IS_ERR (ioas ))
4242 return PTR_ERR (ioas );
4343 * out_ioas_id = ioas -> obj .id ;
44- iommufd_put_object (& ioas -> obj );
44+ iommufd_put_object (ictx , & ioas -> obj );
4545 return 0 ;
4646}
4747EXPORT_SYMBOL_NS_GPL (iommufd_vfio_compat_ioas_get_id , IOMMUFD_VFIO );
@@ -98,7 +98,7 @@ int iommufd_vfio_compat_ioas_create(struct iommufd_ctx *ictx)
9898
9999 if (ictx -> vfio_ioas && iommufd_lock_obj (& ictx -> vfio_ioas -> obj )) {
100100 ret = 0 ;
101- iommufd_put_object (& ictx -> vfio_ioas -> obj );
101+ iommufd_put_object (ictx , & ictx -> vfio_ioas -> obj );
102102 goto out_abort ;
103103 }
104104 ictx -> vfio_ioas = ioas ;
@@ -133,7 +133,7 @@ int iommufd_vfio_ioas(struct iommufd_ucmd *ucmd)
133133 if (IS_ERR (ioas ))
134134 return PTR_ERR (ioas );
135135 cmd -> ioas_id = ioas -> obj .id ;
136- iommufd_put_object (& ioas -> obj );
136+ iommufd_put_object (ucmd -> ictx , & ioas -> obj );
137137 return iommufd_ucmd_respond (ucmd , sizeof (* cmd ));
138138
139139 case IOMMU_VFIO_IOAS_SET :
@@ -143,7 +143,7 @@ int iommufd_vfio_ioas(struct iommufd_ucmd *ucmd)
143143 xa_lock (& ucmd -> ictx -> objects );
144144 ucmd -> ictx -> vfio_ioas = ioas ;
145145 xa_unlock (& ucmd -> ictx -> objects );
146- iommufd_put_object (& ioas -> obj );
146+ iommufd_put_object (ucmd -> ictx , & ioas -> obj );
147147 return 0 ;
148148
149149 case IOMMU_VFIO_IOAS_CLEAR :
@@ -190,7 +190,7 @@ static int iommufd_vfio_map_dma(struct iommufd_ctx *ictx, unsigned int cmd,
190190 iova = map .iova ;
191191 rc = iopt_map_user_pages (ictx , & ioas -> iopt , & iova , u64_to_user_ptr (map .vaddr ),
192192 map .size , iommu_prot , 0 );
193- iommufd_put_object (& ioas -> obj );
193+ iommufd_put_object (ictx , & ioas -> obj );
194194 return rc ;
195195}
196196
@@ -249,7 +249,7 @@ static int iommufd_vfio_unmap_dma(struct iommufd_ctx *ictx, unsigned int cmd,
249249 rc = - EFAULT ;
250250
251251err_put :
252- iommufd_put_object (& ioas -> obj );
252+ iommufd_put_object (ictx , & ioas -> obj );
253253 return rc ;
254254}
255255
@@ -272,7 +272,7 @@ static int iommufd_vfio_cc_iommu(struct iommufd_ctx *ictx)
272272 }
273273 mutex_unlock (& ioas -> mutex );
274274
275- iommufd_put_object (& ioas -> obj );
275+ iommufd_put_object (ictx , & ioas -> obj );
276276 return rc ;
277277}
278278
@@ -349,7 +349,7 @@ static int iommufd_vfio_set_iommu(struct iommufd_ctx *ictx, unsigned long type)
349349 */
350350 if (type == VFIO_TYPE1_IOMMU )
351351 rc = iopt_disable_large_pages (& ioas -> iopt );
352- iommufd_put_object (& ioas -> obj );
352+ iommufd_put_object (ictx , & ioas -> obj );
353353 return rc ;
354354}
355355
@@ -511,7 +511,7 @@ static int iommufd_vfio_iommu_get_info(struct iommufd_ctx *ictx,
511511
512512out_put :
513513 up_read (& ioas -> iopt .iova_rwsem );
514- iommufd_put_object (& ioas -> obj );
514+ iommufd_put_object (ictx , & ioas -> obj );
515515 return rc ;
516516}
517517
0 commit comments