All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0 of 3] Deal with IOMMU faults in softirq context.
@ 2011-12-19 18:34 Dario Faggioli
  2011-12-19 18:51 ` PATCH 1 of 2] Move IOMMU faults handling into softirq for VT-d Dario Faggioli
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Dario Faggioli @ 2011-12-19 18:34 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Wang2, allen.m.kay@intel.com, Tim Deegan, Jan Beulich


[-- Attachment #1.1: Type: text/plain, Size: 1678 bytes --]

Hello everyone,

As already discussed here [1], dealing with IOMMU faults in interrupt
context may cause nasty things to happen, up to being used as a form of
DoS attack, e.g., by generating a "storm" of IOMMU faults that will
livelock a pCPU.

To avoid this, IOMMU faults handling is being moved from interrupt to
softirq context. Basically, the inerrupt handler of the IRQ originated
by an IOMMU (page) fault will raise a softirq-tasklet which will then
deal with the actual fault records by clearing the logs and re-enabling
interrupts from the offending IOMMU(s). A single tasklet is being used
even if there are more than just one IOMMU in the system, as the event
should be rare enough.

The series introduces the described mechanism for both Intel VT-d and
AMD-Vi, and has been tested on both platforms with an hacked DomU bnx2
network driver which was generating I/O page faults upon request.

Thanks and Regards,
Dario

[1] http://old-list-archives.xen.org/archives/html/xen-devel/2011-08/msg00638.html

--
0 iommu-fault-tasklet_vtd.patch
1 iommu-fault-tasklet_amd.patch
--
 xen/drivers/passthrough/amd/iommu_init.c |  45 ++++++++++++++++++++++++++++++++++++++++++---
 xen/drivers/passthrough/vtd/iommu.c      |  35 ++++++++++++++++++++++++++++++++---
 2 files changed, 74 insertions(+), 6 deletions(-)

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-------------------------------------------------------------------
Dario Faggioli, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)
PhD Candidate, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa (Italy)


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-12-20 12:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-19 18:34 [PATCH 0 of 3] Deal with IOMMU faults in softirq context Dario Faggioli
2011-12-19 18:51 ` PATCH 1 of 2] Move IOMMU faults handling into softirq for VT-d Dario Faggioli
2011-12-19 18:53 ` [PATCH 2 of 2] Move IOMMU faults handling into softirq for AMD-Vi Dario Faggioli
2011-12-20 12:11   ` Wei Wang2
2011-12-20 12:23     ` Dario Faggioli
2011-12-20  9:36 ` [PATCH 0 of 3] Deal with IOMMU faults in softirq context Jan Beulich
2011-12-20 10:04   ` Dario Faggioli
2011-12-20 10:45     ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.