On Wed, 9 Nov 2022 17:40:24 -0800 Anthony DeRossi <ajderossi@xxxxxxxxx> wrote: > This series fixes an issue where devices bound to vfio-pci are not reset when > they are released. Skipping the reset has unpredictable results depending on > the device, and can cause errors when accessing the device later or binding to > a different driver. > > The first patch in this series fixes a life cycle issue that was discovered in > an earlier revision of the series. > > Thank you Alex, Jason, and Kevin for your reviews and feedback. This revision > includes the changes suggested on v5, but without any changes to > vfio_device_set_open_count(). > > Anthony > > v5 -> v6: > - Added a call to lockdep_assert_held() in patch 3 > - Corrected "vfio_container_device_register()" in the patch 1 commit message > v5: https://lore.kernel.org/kvm/20221105224458.8180-1-ajderossi@xxxxxxxxx/ > > v4 -> v5: > - Replaced patch 2 with a patch that introduces a new function to get the > open count of a device set > - Updated patch 3 to use the new function > v4: https://lore.kernel.org/kvm/20221104195727.4629-1-ajderossi@xxxxxxxxx/ > > v3 -> v4: > - Added a patch to fix device registration life cycle > - Added a patch to add a public open_count on vfio_device_set > - Changed the implementation to avoid private open_count usage > v3: https://lore.kernel.org/kvm/20221102055732.2110-1-ajderossi@xxxxxxxxx/ > > v2 -> v3: > - Added WARN_ON() > - Revised commit message > v2: https://lore.kernel.org/kvm/20221026194245.1769-1-ajderossi@xxxxxxxxx/ > > v1 -> v2: > - Changed reset behavior instead of open_count ordering > - Retitled from "vfio: Decrement open_count before close_device()" > v1: https://lore.kernel.org/kvm/20221025193820.4412-1-ajderossi@xxxxxxxxx/ > > Anthony DeRossi (3): > vfio: Fix container device registration life cycle > vfio: Export the device set open count > vfio/pci: Check the device set open count on reset > > drivers/vfio/pci/vfio_pci_core.c | 10 +++++----- > drivers/vfio/vfio_main.c | 26 +++++++++++++++++++++----- > include/linux/vfio.h | 1 + > 3 files changed, 27 insertions(+), 10 deletions(-) > Applied to vfio for-linus branch for v6.1. Thanks, Alex