]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: Add "pci=noats" boot parameter
authorGil Kupfer <gilkup@gmail.com>
Thu, 10 May 2018 22:56:02 +0000 (17:56 -0500)
committerBjorn Helgaas <helgaas@kernel.org>
Thu, 10 May 2018 22:56:02 +0000 (17:56 -0500)
commit8df1c1abb8383bfa2c50bd8de4cbc1a11c47ae15
tree243ec22ccce2f44cf17e288ad0415691ad43f4e6
parentf1b58ace9103a94795be16bb5402b20d1c03033a
PCI: Add "pci=noats" boot parameter

Adds a "pci=noats" boot parameter.  When supplied, all ATS related
functions fail immediately and the IOMMU is configured to not use
device-IOTLB.

Any function that checks for ATS capabilities directly against the devices
should also check this flag.  Currently, such functions exist only in IOMMU
drivers, and they are covered by this patch.

The motivation behind this patch is the existence of malicious devices.
Lots of research has been done about how to use the IOMMU as protection
from such devices.  When ATS is supported, any I/O device can access any
physical address by faking device-IOTLB entries.  Adding the ability to
ignore these entries lets sysadmins enhance system security.

Signed-off-by: Gil Kupfer <gilkup@cs.technion.ac.il>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Joerg Roedel <jroedel@suse.de>
Documentation/admin-guide/kernel-parameters.txt
drivers/iommu/amd_iommu.c
drivers/iommu/intel-iommu.c
drivers/pci/ats.c
drivers/pci/pci.c
include/linux/pci.h