All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@suse.com>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [TESTDAY] PV / HVM pass-through works when IOMMU present; weird failures when not
Date: Fri, 28 Jun 2013 17:00:51 +0100	[thread overview]
Message-ID: <51CDCF5302000078000E1A47@nat28.tlf.novell.com> (raw)
In-Reply-To: <CAFLBxZa023+7f1Cy-hpTgFLgwNxdv-jVOJU8Ng=qnY9_5M-9Dw@mail.gmail.com>

>>> On 28.06.13 at 17:37, George Dunlap <George.Dunlap@eu.citrix.com> wrote:
> - For HVM guests, the only user-visible indication tha the IOMMU has
> been disabled is the following error message on the command-line:
> 
> # xl pci-attach h0 07:00.0
> libxl: error: libxl_pci.c:949:do_pci_add: xc_assign_device failed
> 
> However, the device itself ends up passed-through to the guest anyway;
> the guest seems to be able to see it and interact with it normally.
> This is particularly scary, as in theory this should not be possible
> without a working IOMMU.
> 
> I don't think this is a blocker for 4.3, but we should definitely
> release note it, and for 4.4 add a check to see if there is a
> functioning IOMMU and only add a device if there's an override set.

To me this very much looks like a security problem (which I
think we should fix asap).

As I tried this the other day with a boot time assignment, and
it prevented the guest from booting (which is how it should be)
- are you also seeing the guest happily using such device when
assigned via guest config file?

Knowing that may hint at where to look for the actual problem.

Also, I can't really see how the guest would be able to interact
with a half way assigned device properly - I could imagine you
being able to look at its config space, and perhaps load the
driver, but I can't see an I/O to succeed, at least not as long
as any bus mastering is being used the device (this ought to
crash this guest, another guest, or the host, or deliver corrupt
data). Purely port based I/O would likely work, but other than
serial cards I can't think of many things that would do so.

Jan

  reply	other threads:[~2013-06-28 16:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28 15:37 [TESTDAY] PV / HVM pass-through works when IOMMU present; weird failures when not George Dunlap
2013-06-28 16:00 ` Jan Beulich [this message]
2013-06-28 16:10   ` George Dunlap
2013-07-01 12:14     ` Jan Beulich
2013-06-28 16:13   ` Ian Campbell
2013-07-01 10:53   ` George Dunlap
2013-07-01 12:15     ` George Dunlap
2013-07-01 12:31       ` Jan Beulich
2013-07-01 13:17         ` Ian Jackson
2013-07-01 13:42           ` Jan Beulich
2013-07-01 14:15         ` Stefano Stabellini
2013-07-01 14:19         ` Ian Jackson
2013-07-01 12:26     ` Jan Beulich

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=51CDCF5302000078000E1A47@nat28.tlf.novell.com \
    --to=jbeulich@suse.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=xen-devel@lists.xen.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.