vfio-pci-device-specific-driver-acceptance.rst 1.8 KB

1234567891011121314151617181920212223242526272829303132333435
  1. .. SPDX-License-Identifier: GPL-2.0
  2. Acceptance criteria for vfio-pci device specific driver variants
  3. ================================================================
  4. Overview
  5. --------
  6. The vfio-pci driver exists as a device agnostic driver using the
  7. system IOMMU and relying on the robustness of platform fault
  8. handling to provide isolated device access to userspace. While the
  9. vfio-pci driver does include some device specific support, further
  10. extensions for yet more advanced device specific features are not
  11. sustainable. The vfio-pci driver has therefore split out
  12. vfio-pci-core as a library that may be reused to implement features
  13. requiring device specific knowledge, ex. saving and loading device
  14. state for the purposes of supporting migration.
  15. In support of such features, it's expected that some device specific
  16. variants may interact with parent devices (ex. SR-IOV PF in support of
  17. a user assigned VF) or other extensions that may not be otherwise
  18. accessible via the vfio-pci base driver. Authors of such drivers
  19. should be diligent not to create exploitable interfaces via these
  20. interactions or allow unchecked userspace data to have an effect
  21. beyond the scope of the assigned device.
  22. New driver submissions are therefore requested to have approval via
  23. sign-off/ack/review/etc for any interactions with parent drivers.
  24. Additionally, drivers should make an attempt to provide sufficient
  25. documentation for reviewers to understand the device specific
  26. extensions, for example in the case of migration data, how is the
  27. device state composed and consumed, which portions are not otherwise
  28. available to the user via vfio-pci, what safeguards exist to validate
  29. the data, etc. To that extent, authors should additionally expect to
  30. require reviews from at least one of the listed reviewers, in addition
  31. to the overall vfio maintainer.