Re: PCI DMA and security

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

 



Le Wed, 30 Jul 2008 17:21:31 -0700,
Greg KH <greg@xxxxxxxxx> a écrit :

> That's a fault of the hardware, nothing the os can do about that,
> sorry.

Yes, however some recent chips provide an IOMMU, «a memory management
unit (MMU) that connects a DMA-capable I/O bus to the main memory». And
one of its advantage is:

«
Memory protection from malicious or misbehaving devices: a device
cannot read or write to memory that hasn't been explicitly allocated
(mapped) for it. The memory protection is based on the fact that OS
running on the CPU (see figure) exclusively controls both the MMU and
the IOMMU. The devices are physically unable to circumvent or corrupt
configured memory management tables.
»

Using that kind of hardware, the OS has control over which parts of the
physical memory is visible to a particular device. So the OS can
protect itself against malicious devices.

However, I don't know what chips are currently available with an IOMMU,
and what's the status of Linux's support for IOMMU (I've seen several
times patches being worked on, but I don't know if they have been
merged).

A rather old (2004) James Bottomley's article has more detail about DMA,
<http://www.linuxjournal.com/node/7104/print>.

Sincerly,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux