File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -213,6 +213,7 @@ void iommufd_fault_destroy(struct iommufd_object *obj)
213
213
{
214
214
struct iommufd_fault * fault = container_of (obj , struct iommufd_fault , obj );
215
215
struct iopf_group * group , * next ;
216
+ unsigned long index ;
216
217
217
218
/*
218
219
* The iommufd object's reference count is zero at this point.
@@ -225,6 +226,13 @@ void iommufd_fault_destroy(struct iommufd_object *obj)
225
226
iopf_group_response (group , IOMMU_PAGE_RESP_INVALID );
226
227
iopf_free_group (group );
227
228
}
229
+ xa_for_each (& fault -> response , index , group ) {
230
+ xa_erase (& fault -> response , index );
231
+ iopf_group_response (group , IOMMU_PAGE_RESP_INVALID );
232
+ iopf_free_group (group );
233
+ }
234
+ xa_destroy (& fault -> response );
235
+ mutex_destroy (& fault -> mutex );
228
236
}
229
237
230
238
static void iommufd_compose_fault_message (struct iommu_fault * fault ,
You can’t perform that action at this time.
0 commit comments