3

私はいくつかの仮定を念頭に置いていますが、間違っている場合は修正してください。

  1. 実際の IOMMU がないと、ゲストがホスト メモリ内のガベージを転送する可能性があるため、DMA 転送はセキュリティ リスクになります。
  2. 実際の IOMMU なしでは、ゲスト メモリとパススルー デバイス間の有効な DMA 転送はできません。
  3. ホスト OS は、パススルー デバイスに関連する DMA 関連のものを認識しません。

今いくつかの質問:

  • ポイント 3 に関連: パススルー デバイスを使用して DMA 転送に関する情報を取得する方法はありますか?
  • DMA-Remapping をオンにしていない場合、KVM はそれについて文句を言いますか?
  • パススルー デバイスを使用して、ゲストの DMA 関連のものを拒否する可能性はありますか?
4

1 に答える 1

3

調査中にこの古い質問に出くわし、興味のある人のために回答を投稿すると考えました。

ポイント1について.IOMMUがないと、パススルーがまったくできません。I/O デバイスはカーネル空間にあります。ゲスト カーネルは、カーネル空間で実行されているとのみ考えるユーザー プロセスです。

質問に関して:

エミュレートされたデバイスでは、エミュレータ コードがすべての DMA セットアップをインターセプトし、それらが有効であることを確認できます。PCI パススルーを使用すると、レジスタの読み取りと書き込みはデバイスに直接送信されるか、SR-IOV 用のデバイス上の VF に送信されるため、KVM やゲスト外部のその他のコードが検証、エラーの発生、または苦情を申し立てる機会はありません。

于 2013-03-29T22:53:26.027 に答える