vfio-pci 裝置特定驅動變體的接受標準¶
概述¶
vfio-pci 驅動作為一種與裝置無關的驅動存在,它利用系統 IOMMU 並依賴於平臺故障處理的魯棒性,以向用戶空間提供隔離的裝置訪問。雖然 vfio-pci 驅動確實包含一些裝置特定支援,但為更高階的裝置特定功能提供進一步擴充套件是不可持續的。因此,vfio-pci 驅動已將 vfio-pci-core 拆分為一個庫,該庫可被重用於實現需要裝置特定知識的功能,例如為支援遷移而儲存和載入裝置狀態。
為支援此類功能,預計某些裝置特定變體可能會與父裝置(例如支援使用者分配的 VF 的 SR-IOV PF)或其他可能無法透過 vfio-pci 基本驅動訪問的擴充套件進行互動。此類驅動的作者應謹慎,避免透過這些互動建立可利用的介面,或允許未經檢查的使用者空間資料在分配的裝置範圍之外產生影響。
因此,新提交的驅動程式應請求透過籤核/確認/審查等方式,批准與父驅動程式的任何互動。此外,驅動程式應嘗試提供足夠的文件,以便審閱者理解裝置特定擴充套件,例如在遷移資料的情況下,裝置狀態如何組成和消耗,哪些部分是使用者透過 vfio-pci 無法獲得的,存在哪些保障措施來驗證資料等。為此,作者還應期望至少有一位列出的審閱者進行審查,除了 vfio 的總體維護者之外。