All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joerg.roedel-5C7GfCeVMHo@public.gmane.org>
To: Konrad Rzeszutek Wilk
	<konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 05/16] iommu/amd: Split device table initialization into irq and dma part
Date: Fri, 28 Sep 2012 16:25:55 +0200	[thread overview]
Message-ID: <20120928142555.GC4009@amd.com> (raw)
In-Reply-To: <20120928141752.GD7483-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>

On Fri, Sep 28, 2012 at 10:17:53AM -0400, Konrad Rzeszutek Wilk wrote:
> On Fri, Sep 28, 2012 at 02:23:55PM +0200, Joerg Roedel wrote:
> > When the IOMMU is enabled very early (as with irq-remapping)
> > some devices are still in BIOS hand. When dma is blocked
> > early this can cause lots of IO_PAGE_FAULTs. So delay the
> > DMA initialization and do it right before the dma_ops are
> > initialized.
> > To be secure, block all interrupts by default when irq-remapping is
> 
> What are you trying to be secure against?

Against attacks of faked MSI msgs that could DoS the system. MSI
messages are only specific DMA transactions in the end and a guest with
a device assigned has control over its DMA engine and can thus send
arbitrary interrupt requests to the host. There is a whole paper about
such attacks. I can't find right now, but I send you  a link when I find
it.


	Joerg

-- 
AMD Operating System Research Center

Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632

WARNING: multiple messages have this Message-ID (diff)
From: Joerg Roedel <joerg.roedel@amd.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: <iommu@lists.linux-foundation.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 05/16] iommu/amd: Split device table initialization into irq and dma part
Date: Fri, 28 Sep 2012 16:25:55 +0200	[thread overview]
Message-ID: <20120928142555.GC4009@amd.com> (raw)
In-Reply-To: <20120928141752.GD7483@localhost.localdomain>

On Fri, Sep 28, 2012 at 10:17:53AM -0400, Konrad Rzeszutek Wilk wrote:
> On Fri, Sep 28, 2012 at 02:23:55PM +0200, Joerg Roedel wrote:
> > When the IOMMU is enabled very early (as with irq-remapping)
> > some devices are still in BIOS hand. When dma is blocked
> > early this can cause lots of IO_PAGE_FAULTs. So delay the
> > DMA initialization and do it right before the dma_ops are
> > initialized.
> > To be secure, block all interrupts by default when irq-remapping is
> 
> What are you trying to be secure against?

Against attacks of faked MSI msgs that could DoS the system. MSI
messages are only specific DMA transactions in the end and a guest with
a device assigned has control over its DMA engine and can thus send
arbitrary interrupt requests to the host. There is a whole paper about
such attacks. I can't find right now, but I send you  a link when I find
it.


	Joerg

-- 
AMD Operating System Research Center

Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632


  parent reply	other threads:[~2012-09-28 14:25 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-28 12:23 [PATCH 0/16] Interrupt remapping support for AMD IOMMU Joerg Roedel
2012-09-28 12:23 ` Joerg Roedel
     [not found] ` <1348835046-3262-1-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-09-28 12:23   ` [PATCH 01/16] iommu/amd: Keep track of HPET and IOAPIC device ids Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
2012-09-28 14:08     ` Konrad Rzeszutek Wilk
     [not found]       ` <20120928140833.GB7483-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-09-28 14:35         ` Joerg Roedel
2012-09-28 14:35           ` Joerg Roedel
2012-09-28 12:23   ` [PATCH 02/16] iommu/amd: Add slab-cache for irq remapping tables Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
2012-09-28 12:23   ` [PATCH 03/16] iommu/amd: Allocate data structures to keep track of " Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
2012-09-28 22:57     ` Shuah Khan
2012-09-28 12:23   ` [PATCH 04/16] iommu/amd: Check if IOAPIC information is correct Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
     [not found]     ` <1348835046-3262-5-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-09-28 14:16       ` Konrad Rzeszutek Wilk
2012-09-28 14:16         ` Konrad Rzeszutek Wilk
     [not found]         ` <20120928141644.GC7483-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-09-28 14:37           ` Joerg Roedel
2012-09-28 14:37             ` Joerg Roedel
2012-09-28 12:23   ` [PATCH 05/16] iommu/amd: Split device table initialization into irq and dma part Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
     [not found]     ` <1348835046-3262-6-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-09-28 14:17       ` Konrad Rzeszutek Wilk
2012-09-28 14:17         ` Konrad Rzeszutek Wilk
     [not found]         ` <20120928141752.GD7483-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-09-28 14:25           ` Joerg Roedel [this message]
2012-09-28 14:25             ` Joerg Roedel
     [not found]             ` <20120928142555.GC4009-5C7GfCeVMHo@public.gmane.org>
2012-09-28 15:00               ` Konrad Rzeszutek Wilk
2012-09-28 15:00                 ` Konrad Rzeszutek Wilk
     [not found]                 ` <20120928150009.GI7483-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-09-28 14:59                   ` Joerg Roedel
2012-09-28 14:59                     ` Joerg Roedel
2012-09-28 12:23   ` [PATCH 06/16] iommu/amd: Make sure IOMMU is not considered to translate itself Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
2012-09-28 12:23   ` [PATCH 07/16] iommu/amd: Add IRTE invalidation routine Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
     [not found]     ` <1348835046-3262-8-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-09-28 14:20       ` Konrad Rzeszutek Wilk
2012-09-28 14:20         ` Konrad Rzeszutek Wilk
2012-09-28 15:36         ` Joerg Roedel
2012-09-28 15:36           ` Joerg Roedel
2012-09-28 12:23   ` [PATCH 08/16] iommu/amd: Add routines to manage irq remapping tables Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
     [not found]     ` <1348835046-3262-9-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-09-28 14:40       ` Konrad Rzeszutek Wilk
2012-09-28 14:40         ` Konrad Rzeszutek Wilk
     [not found]         ` <20120928144011.GF7483-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-09-28 15:01           ` Joerg Roedel
2012-09-28 15:01             ` Joerg Roedel
2012-09-28 12:23   ` [PATCH 09/16] iommu/amd: Add IOAPIC remapping routines Joerg Roedel
2012-09-28 12:23     ` Joerg Roedel
     [not found]     ` <1348835046-3262-10-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-09-28 14:45       ` Konrad Rzeszutek Wilk
2012-09-28 14:45         ` Konrad Rzeszutek Wilk
     [not found]     ` <6d716497-bcf6-4d71-88a3-6ec772a4d396@sausexedgep01.amd.com>
     [not found]       ` <6d716497-bcf6-4d71-88a3-6ec772a4d396-drQb3oNRF8yAbyOsnIB/ifZ4XP/Yx64J@public.gmane.org>
2012-10-01  8:40         ` Joerg Roedel
2012-10-01  8:40           ` Joerg Roedel
     [not found]           ` <20121001084051.GO4009-5C7GfCeVMHo@public.gmane.org>
2012-10-01 13:47             ` Konrad Rzeszutek Wilk
2012-10-01 13:47               ` Konrad Rzeszutek Wilk
     [not found]               ` <20121001134753.GF4099-6K5HmflnPlqSPmnEAIUT9EEOCMrvLtNR@public.gmane.org>
2012-10-01 16:33                 ` Joerg Roedel
2012-10-01 16:33                   ` Joerg Roedel
2012-10-01 16:34                   ` Konrad Rzeszutek Wilk
2012-09-28 12:24   ` [PATCH 10/16] iommu/amd: Implement MSI routines for interrupt remapping Joerg Roedel
2012-09-28 12:24     ` Joerg Roedel
     [not found]     ` <1348835046-3262-11-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-09-28 14:49       ` Konrad Rzeszutek Wilk
2012-09-28 14:49         ` Konrad Rzeszutek Wilk
     [not found]         ` <20120928144933.GH7483-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-09-28 15:04           ` Joerg Roedel
2012-09-28 15:04             ` Joerg Roedel
2012-09-28 12:24   ` [PATCH 11/16] iommu/amd: Add call-back routine for HPET MSI Joerg Roedel
2012-09-28 12:24     ` Joerg Roedel
2012-09-28 12:24   ` [PATCH 12/16] iommu/amd: Add initialization routines for AMD interrupt remapping Joerg Roedel
2012-09-28 12:24     ` Joerg Roedel
2012-09-28 23:18     ` Shuah Khan
     [not found]       ` <CAKocOONojx7tvu6x+HV97Rae-KXA3hW65Ujmt2t7LCVs9oRpyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-01  8:05         ` Joerg Roedel
2012-10-01  8:05           ` Joerg Roedel
2012-10-01 16:02           ` Shuah Khan
2012-09-28 12:24   ` [PATCH 13/16] iommu/amd: Make sure irq remapping still works on dma init failure Joerg Roedel
2012-09-28 12:24     ` Joerg Roedel
2012-09-28 12:24   ` [PATCH 14/16] iommu/irq: Use amd_iommu_irq_ops if supported Joerg Roedel
2012-09-28 12:24     ` Joerg Roedel
2012-09-28 23:39     ` Shuah Khan
     [not found]       ` <CAKocOONaiMJs7pWeWxO=_bN5_KU=jZh=kvL7U_v-w9LmSrQ+Fw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-01  8:08         ` Joerg Roedel
2012-10-01  8:08           ` Joerg Roedel
2012-10-01 16:04           ` Shuah Khan
2012-09-28 12:24   ` [PATCH 15/16] iommu/amd: Print message to system log when irq remapping is enabled Joerg Roedel
2012-09-28 12:24     ` Joerg Roedel
2012-09-28 12:24   ` [PATCH 16/16] iommu/amd: Report irq remapping through IOMMU-API Joerg Roedel
2012-09-28 12:24     ` Joerg Roedel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120928142555.GC4009@amd.com \
    --to=joerg.roedel-5c7gfcevmho@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.