36 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. 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.
 |