Merge tag 'vfio-v4.13-rc1' of git://github.com/awilliam/linux-vfio
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Jul 2017 19:23:54 +0000 (12:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Jul 2017 19:23:54 +0000 (12:23 -0700)
Pull VFIO updates from Alex Williamson:

 - Include Intel XXV710 in INTx workaround (Alex Williamson)

 - Make use of ERR_CAST() for error return (Dan Carpenter)

 - Fix vfio_group release deadlock from iommu notifier (Alex Williamson)

 - Unset KVM-VFIO attributes only on group match (Alex Williamson)

 - Fix release path group/file matching with KVM-VFIO (Alex Williamson)

 - Remove unnecessary lock uses triggering lockdep splat (Alex Williamson)

* tag 'vfio-v4.13-rc1' of git://github.com/awilliam/linux-vfio:
  vfio: Remove unnecessary uses of vfio_container.group_lock
  vfio: New external user group/file match
  kvm-vfio: Decouple only when we match a group
  vfio: Fix group release deadlock
  vfio: Use ERR_CAST() instead of open coding it
  vfio/pci: Add Intel XXV710 to hidden INTx devices

1  2 
include/linux/vfio.h

diff --combined include/linux/vfio.h
index f57076b958b73d313b9f92639377f94d866197dd,9b34d0af5d275d41f189cca7445561b7b1415df0..586809abb273498705be4d75a0e2571caa81ec7a
@@@ -97,6 -97,8 +97,8 @@@ extern void vfio_unregister_iommu_drive
   */
  extern struct vfio_group *vfio_group_get_external_user(struct file *filep);
  extern void vfio_group_put_external_user(struct vfio_group *group);
+ extern bool vfio_external_group_match_file(struct vfio_group *group,
+                                          struct file *filep);
  extern int vfio_external_user_iommu_id(struct vfio_group *group);
  extern long vfio_external_check_extension(struct vfio_group *group,
                                          unsigned long arg);
@@@ -183,7 -185,7 +185,7 @@@ struct virqfd 
        void                    (*thread)(void *, void *);
        void                    *data;
        struct work_struct      inject;
 -      wait_queue_t            wait;
 +      wait_queue_entry_t              wait;
        poll_table              pt;
        struct work_struct      shutdown;
        struct virqfd           **pvirqfd;