tree 87604fe7c082b82b436f2111e47f5a366436271e
parent bf97293eb878df3792d9de7213bd7b82135aea77
parent dac09b57c0ff57e55dd6fa5109076c8af0468a75
author Linus Torvalds <torvalds@linux-foundation.org> 1378747176 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1378747176 -0700
mergetag object dac09b57c0ff57e55dd6fa5109076c8af0468a75
 type commit
 tag vfio-v3.12-rc0
 tagger Alex Williamson <alex.williamson@redhat.com> 1378659060 -0600
 
 VFIO updates include safer default file flags for VFIO device fds,
 an external user interface exported to allow other modules to hold
 references to VFIO groups, a fix to test for extended config space
 on PCIe and PCI-x, and new hot reset interfaces for PCI devices
 which allows the user to do PCI bus/slot resets when all of the
 devices affected by the reset are owned by the user.
 
 For this last feature, the PCI bus reset interface, I depend on
 changes already merged from Bjorn's PCI pull request.  I therefore
 merged my tree up to commit cb3e433, which I think was the correct
 action, but as Stephen Rothwell noted, I failed to provide a commit
 message indicating why the merge was required.  Sorry for that.
 Thanks,
 Alex
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQIcBAABAgAGBQJSLKr0AAoJECObm247sIsiouMP/1rym/JDjSsjIONvjnQEH5hk
 aZy3gGjqvSBBSN2aWqYkEgsSmgh4lSdDAbSBpY6vfz4Q0h7OXhSZcZ5oG2eGECia
 rN6GvfI/g2mYBCHJbS30bEkpljx9ssMZi7n9dnWOWEkzXSTC/uLHx9DCUiHdczPF
 SEeEHbxAnCTL5S5SQgUwhjPI813eVPjm94KDZK6pHcd14GGtM/piGjJNkyfzymRZ
 0l7lu95YaY70qL1Bk1EZ2TlsqWtYeKfDXsp465U3uBj5eXslMKpxXBn/XndRWu25
 ZnjRitF/izMZdcBgIM4uVK/yDhdAI2qav1rtkVirqp9Qrs9BgJXxUpO3p0e/GhFl
 KZgq3DnE1aUfJlyu+YGmjIKWDT+CBrkkxidRwYoaBCs3if/1E19zUH5Gfuuimy/D
 rpET3HPuJlPhxyE2vH9u6EVTybBx4wlvDP43FyhetriQjwv+SuPP2oNWD96L/qBY
 BHcSMHfkyq90Lp6tjCeTISkwOb66qqkRUlzycPiB67BgrIea8yn14lKpE7GLcgmO
 XSLLRvv6tFD2VcqEWQZNLoLo8XqAngvgStbOXxiTFpSQD4h2Z0TbpSc9qdVZlgIt
 JBMA0BuDj+gzCDePUlsuM5L1EVOaFuKSHiZA6MUewDBqiiKoWPPsDKsFpKt2jFv4
 Mp47JcWkDBg1DCC8nQ7f
 =FAuJ
 -----END PGP SIGNATURE-----

Merge tag 'vfio-v3.12-rc0' of git://github.com/awilliam/linux-vfio

Pull VFIO update from Alex Williamson:
 "VFIO updates include safer default file flags for VFIO device fds, an
  external user interface exported to allow other modules to hold
  references to VFIO groups, a fix to test for extended config space on
  PCIe and PCI-x, and new hot reset interfaces for PCI devices which
  allows the user to do PCI bus/slot resets when all of the devices
  affected by the reset are owned by the user.

  For this last feature, the PCI bus reset interface, I depend on
  changes already merged from Bjorn's PCI pull request.  I therefore
  merged my tree up to commit cb3e433, which I think was the correct
  action, but as Stephen Rothwell noted, I failed to provide a commit
  message indicating why the merge was required.  Sorry for that.
  Thanks, Alex"

* tag 'vfio-v3.12-rc0' of git://github.com/awilliam/linux-vfio:
  vfio: fix documentation
  vfio-pci: PCI hot reset interface
  vfio-pci: Test for extended config space
  vfio-pci: Use fdget() rather than eventfd_fget()
  vfio: Add O_CLOEXEC flag to vfio device fd
  vfio: use get_unused_fd_flags(0) instead of get_unused_fd()
  vfio: add external user support
