Thread (35 messages) 35 messages, 5 authors, 2021-08-10

Re: [RFC v1 6/8] mshv: command line option to skip devices in PV-IOMMU

flat view

From: Wei Liu <wei.liu@kernel.org>
Date: 2021-07-09 13:35:02
Also in: linux-iommu, lkml

On Fri, Jul 09, 2021 at 01:46:19PM +0100, Robin Murphy wrote:
On 2021-07-09 12:43, Wei Liu wrote:
quoted
Some devices may have been claimed by the hypervisor already. One such
example is a user can assign a NIC for debugging purpose.

Ideally Linux should be able to tell retrieve that information, but
there is no way to do that yet. And designing that new mechanism is
going to take time.

Provide a command line option for skipping devices. This is a stopgap
solution, so it is intentionally undocumented. Hopefully we can retire
it in the future.
Huh? If the host is using a device, why the heck is it exposing any
knowledge of that device to the guest at all, let alone allowing the guest
to do anything that could affect its operation!?
The host in this setup consists of the hypervisor, the root kernel and a
bunch of user space programs.

Root is not an ordinary guest. It does need to know all the hardware to
manage the platform. Hypervisor does not claim more devices than it
needs to, nor does it try to hide hardware details from the root.

The hypervisor can protect itself just fine. Any attempt to use the
already claimed devices will be blocked or rejected, so are the attempts
to attach them to device domains.

That, however, leads to some interesting interactions between the
hypervisor and Linux kernel.  When kernel initializes IOMMU during boot,
it will try to attach all devices in one go. Any failure there will
cause kernel to detach the already attached devices. That's not fatal to
kernel, and is only a minor annoyance to our current use case, because
the default domain is a passthrough domain anyway. It will become
problematic once we switch the default domain to a DMA domain to further
tighten security during Linux boot.

Wei.
Robin.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help