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