From: George Dunlap <george.dunlap@eu.citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH 2 of 2] xl, libxl: Add per-device and global permissive config options for pci passthrough
Date: Mon, 2 Apr 2012 17:40:19 +0100 [thread overview]
Message-ID: <4F79D673.9000104@eu.citrix.com> (raw)
In-Reply-To: <20345.51964.865778.569742@mariner.uk.xensource.com>
On 02/04/12 16:51, Ian Jackson wrote:
> George Dunlap writes ("Re: [Xen-devel] [PATCH 2 of 2] xl, libxl: Add per-device and global permissive config options for pci passthrough"):
>> I'm not sure how we can make it more definite. What's possible (i.e.,
>> the security implications) entirely depends on the card; and what's
>> likely (i.e., the stability implications) entirely depends on the card
>> and the driver. Short of giving a short discourse on the vices of
>> various cards PCI config space (which is entirely inappropriate for a
>> man page, IMHO), I'm not sure what more we can say.
> Is it generally or usually the case that this option will more
> completely expose the host ?
So, worst-case, the guest driver can make the card do anything a card
can actually do. Most of the things a card can do can be mitigated by
the IOMMU. But there may be some things which are not; and there are
some people still running older hardware that either doesn't have an
IOMMU, or whose IOMMU cannot handle important cases (e.g., Intel boxes
with VTD but no interrupt remapping, if you recall the security issue
related to this last year).
One of the examples Stefano gave of config stuff that can cause problems
is the power management features: if the guest driver powers down the
card, then when libxl tries to reset the card, it generates a PCI error
interrupt. This used to crash Xen. (It's now been fixed.)
But on the other hand, how many cards even have these kinds of dangerous
capabilities in their PCI registers? Most of them are probably just
fine. And in the case of driver domains, most people will be running
trusted software anyway; the driver will be the same in the domU as the
dom0.
Still, can't very well just turn things on by default and hope for the
best; people need to know that they're doing something potentially
dangerous. But we can't really tell people how dangerous this thing
might be, because we don't actually know how many cards might actually
be dangerous, and we don't know what kind of software they're allowing
access to the card. And again, we can't just not give the option,
because many cards need it to run, and most of the time it's just fine.
This is probably worth doing some more investigation and writing up in a
doc and/or a wiki page somewhere; but I'm not sure we can do more in a
man page than give a necessarily unspecific warning.
-George
>> I thought it was unnecessary to duplicate, but I can do so if you prefer.
> I guess that depends on how strong a statement it is.
>
>>> I think you should consider breakibg out the sysfs writing function
>>> and refactoring with the very similar code in libxl__device_pci_reset,
>>> rather than introducing yet another clone.
>> I shall consider it. :-)
> Thanks :-).
>
> Ian.
next prev parent reply other threads:[~2012-04-02 16:40 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-02 10:47 [PATCH 0 of 2] [v2] Add per-device and global permissive config options for pci passthrough George Dunlap
2012-04-02 10:47 ` [PATCH 1 of 2] libxl: Move bdf parsing into libxlu George Dunlap
2012-04-02 11:05 ` Ian Campbell
2012-04-02 14:45 ` George Dunlap
2012-04-02 10:47 ` [PATCH 2 of 2] xl, libxl: Add per-device and global permissive config options for pci passthrough George Dunlap
2012-04-02 11:30 ` Ian Campbell
2012-04-02 15:22 ` George Dunlap
2012-04-02 15:29 ` Ian Campbell
2012-04-02 15:20 ` Ian Jackson
2012-04-02 15:43 ` George Dunlap
2012-04-02 15:51 ` Ian Jackson
2012-04-02 16:40 ` George Dunlap [this message]
2012-04-02 16:42 ` Ian Jackson
2012-04-02 16:56 ` George Dunlap
-- strict thread matches above, loose matches on Subject: below --
2012-04-03 13:54 [PATCH 0 of 2] [v2] " George Dunlap
2012-04-03 13:54 ` [PATCH 2 of 2] xl, libxl: " George Dunlap
2012-04-03 14:34 ` Ian Jackson
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=4F79D673.9000104@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).