Re: [PATCH v3 1/1] PCI: Add translated request only flag for pci_enable_pasid()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023/2/1 8:14, Bjorn Helgaas wrote:
The translated address is specified by the IOMMU driver. The IOMMU
driver ensures that the address is a DMA buffer address instead of any
P2P address in the PCI fabric. Therefore, any translated memory request
will eventually be routed to IOMMU regardless of whether there is ACS
control in the up-streaming path.
A Memory Request with an address that is not a P2P address, i.e., it
is not contained in any bridge aperture, will*always*  be routed
toward the RC, won't it?

Yes.

Isn't that the case regardless of whether
the address is translated or untranslated, and even regardless of ACS?

They are different. The translated addresses are approved by the Linux
kernel. But untranslated addresses are not. Malicious or buggy userspace
applications could program the device to DMA to addresses locating in
the P2P aperture.

IIUC, ACS basically causes peer-to-peer requests to be routed upstream
instead of directly to the peer.

Yes.

Best regards,
baolu



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux