> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > Sent: Friday, August 25, 2023 10:30 AM > > - list_for_each_entry_safe(iopf, next, &group->faults, list) { > + list_for_each_entry(iopf, &group->faults, list) { > /* > * For the moment, errors are sticky: don't handle > subsequent > * faults in the group if there is an error. > @@ -69,14 +62,10 @@ static void iopf_handler(struct work_struct *work) > if (status == IOMMU_PAGE_RESP_SUCCESS) > status = domain->iopf_handler(&iopf->fault, > domain->fault_data); > - > - if (!(iopf->fault.prm.flags & > - IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE)) > - kfree(iopf); > } then no need to continue if status is not success. Yes this is fixed in next patch but logically the change more suits here. Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>