All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@qumranet.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: kvm-devel <kvm-devel@lists.sourceforge.net>,
	lguest <lguest@ozlabs.org>,
	virtualization@lists.linux-foundation.org
Subject: Re: [RFC PATCH 0/4] Inter-guest virtio I/O example with lguest
Date: Thu, 20 Mar 2008 17:36:34 +0200	[thread overview]
Message-ID: <47E28482.9010501@qumranet.com> (raw)
In-Reply-To: <47E27D1E.2090203@codemonkey.ws>

Anthony Liguori wrote:
>
> You can have the file descriptor be opened O_RDONLY so trust isn't an 
> issue.
>

Reading is just as bad as writing.

>> This implies trusting the other userspace, which is not a good 
>> thing.  Let the kernel copy, we already trust it, and it has more 
>> resources to do the copy.
>>
>
> You're going to end up with the same trust issues no matter what 
> unless you let the kernel look directly at the virtio ring queue.  
> That's the only way to arbitrate what memory gets copied.  

That's what we need, then.

> There may be a generic API here for fast interprocess IO, I don't 
> know.  splice() is a little awkward though for this because you really 
> don't want to sit in a splice() loop.  What you want is for both sides 
> to be kick'ing the kernel and the kernel to raise an event via 
> eventfd() or something.
>
> Absent whatever this kernel API is (which is really just helpful with 
> a DMA engine), I think the current userspace approach is pretty 
> reasonable.  Not just for interguest IO but also for driver domains 
> which I think is a logical extension.

I disagree.  A driver domain is shared between multiple guests, and if 
one of the guests manages to break into qemu then it can see other 
guest's data.

[Driver domains are a horrible idea IMO, but that's another story]

-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

  reply	other threads:[~2008-03-20 15:36 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-20  5:59 [RFC PATCH 0/4] Inter-guest virtio I/O example with lguest Rusty Russell
2008-03-20  6:05 ` [RFC PATCH 1/5] lguest: mmap backing file Rusty Russell
     [not found] ` <200803201659.14344.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-03-20  6:05   ` Rusty Russell
     [not found]     ` <200803201705.44422.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-03-20  6:22       ` [RFC PATCH 2/5] lguest: Encapsulate Guest memory ready for dealing with other Guests Rusty Russell
2008-03-20  6:36         ` [RFC PATCH 3/5] lguest: separate out virtqueue info from device info Rusty Russell
2008-03-20  6:36         ` Rusty Russell
     [not found]           ` <200803201736.01883.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-03-20  6:40             ` [RFC PATCH 4/5] lguest: ignore bad virtqueues Rusty Russell
2008-03-20  6:45               ` [RFC PATCH 5/5] lguest: Inter-guest networking Rusty Russell
2008-03-20  6:45               ` Rusty Russell
2008-03-20  6:40           ` [RFC PATCH 4/5] lguest: ignore bad virtqueues Rusty Russell
2008-03-20 14:04       ` [kvm-devel] [RFC PATCH 1/5] lguest: mmap backing file Anthony Liguori
2008-03-20 14:32         ` [Lguest] " Paul TBBle Hampson
     [not found]         ` <47E26EE1.5030706-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2008-03-20 14:32           ` Paul TBBle Hampson
2008-03-20 15:07           ` Avi Kivity
2008-03-20 15:24             ` Anthony Liguori
2008-03-20 15:24             ` [kvm-devel] " Anthony Liguori
2008-03-20 22:12           ` Rusty Russell
2008-03-20 23:46             ` Anthony Liguori
2008-03-23  9:11               ` [kvm-devel] " Avi Kivity
2008-03-23  9:11               ` Avi Kivity
2008-03-20 23:46             ` [kvm-devel] " Anthony Liguori
2008-03-20 15:07         ` Avi Kivity
2008-03-20 22:12         ` Rusty Russell
2008-03-20  6:22     ` [RFC PATCH 2/5] lguest: Encapsulate Guest memory ready for dealing with other Guests Rusty Russell
2008-03-20  8:16     ` [Lguest] [RFC PATCH 1/5] lguest: mmap backing file Tim Post
2008-03-20  8:16     ` Tim Post
2008-03-20 14:07       ` Paul TBBle Hampson
     [not found]       ` <1206000960.6873.124.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-03-20 14:07         ` Paul TBBle Hampson
2008-03-21  0:29         ` Rusty Russell
2008-03-21  0:29       ` [Lguest] " Rusty Russell
2008-03-20 14:04     ` [kvm-devel] " Anthony Liguori
2008-03-20  6:54   ` [kvm-devel] [RFC PATCH 0/4] Inter-guest virtio I/O example with lguest Avi Kivity
2008-03-20 13:55     ` Anthony Liguori
     [not found]     ` <47E20A35.2000600-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-03-20 13:55       ` Anthony Liguori
     [not found]         ` <47E26CC1.8080900-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2008-03-20 14:27           ` Avi Kivity
     [not found]             ` <47E27461.4090404-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-03-20 14:39               ` Anthony Liguori
2008-03-20 14:55                 ` Avi Kivity
2008-03-20 15:05                   ` Anthony Liguori
2008-03-20 15:36                     ` Avi Kivity [this message]
     [not found]                       ` <47E28482.9010501-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-03-20 15:52                         ` [kvm-devel] " Anthony Liguori
2008-03-20 15:52                       ` Anthony Liguori
2008-03-20 15:36                     ` Avi Kivity
2008-03-20 15:05                   ` Anthony Liguori
2008-03-20 14:55                 ` Avi Kivity
2008-03-20 14:39             ` Anthony Liguori
2008-03-20 14:27         ` Avi Kivity
2008-03-20 22:14     ` Rusty Russell
2008-03-20 22:14     ` Rusty Russell
2008-03-20 14:11   ` [kvm-devel] " Anthony Liguori
2008-03-23 12:05     ` Rusty Russell
2008-03-23 12:05     ` Rusty Russell
2008-03-20  6:54 ` [kvm-devel] " Avi Kivity
2008-03-20 14:11 ` Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2008-03-20  5:59 Rusty Russell

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=47E28482.9010501@qumranet.com \
    --to=avi@qumranet.com \
    --cc=anthony@codemonkey.ws \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=lguest@ozlabs.org \
    --cc=virtualization@lists.linux-foundation.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.