v4: Fix the 'create' racing 'remove' gap noted by Kirti by moving removal from mdev_list to mdev_device_release(). Fix missing mdev_put_parent() cases in mdev_device_create(), also noted by Kirti. Added documention update regarding serialization as noted by Cornelia. Added additional commit log comment about -EAGAIN vs -ENODEV for 'remove' racing 'create'. Added second patch to re-order sysfs attributes, with this my targeted scripts can no longer hit the gap where -EAGAIN is regurned. BTW, the gap where the current code returns -ENODEV in this race condition is about 50% easier to hit than it exists in this series with patch 1 alone. Thanks, Alex --- Alex Williamson (2): vfio/mdev: Check globally for duplicate devices vfio/mdev: Re-order sysfs attribute creation Documentation/vfio-mediated-device.txt | 5 ++ drivers/vfio/mdev/mdev_core.c | 102 +++++++++++--------------------- drivers/vfio/mdev/mdev_private.h | 2 - drivers/vfio/mdev/mdev_sysfs.c | 14 ++-- 4 files changed, 49 insertions(+), 74 deletions(-)