[RFC PATCH 29/30] vfio: Add support for Shared Virtual Memory
From: Tomasz Nowicki <hidden>
Date: 2017-04-26 11:01:48
Also in:
kvm, linux-iommu, linux-pci
From: Tomasz Nowicki <hidden>
Date: 2017-04-26 11:01:48
Also in:
kvm, linux-iommu, linux-pci
On 26.04.2017 12:08, Jean-Philippe Brucker wrote:
On 26/04/17 07:53, Tomasz Nowicki wrote:quoted
quoted
+ mutex_lock(&device->tasks_lock); + list_for_each_entry(vfio_task, &device->tasks, list) { + if (vfio_task->pasid != svm.pasid) + continue; + + ret = iommu_unbind_task(device->dev, svm.pasid, flags); + if (ret) + dev_warn(device->dev, "failed to unbind PASID %u\n", + vfio_task->pasid); + + list_del(&vfio_task->list); + kfree(vfio_task);Please use list_for_each_entry_safe.There is: + break; right after kfree, so we'd never follow vfio_task->list.next after freeing vfio_task. The code searches for the _only_ task matching the PASID, removes it and leaves the loop.
Ah right. Sorry for the noise. Tomasz