[Lguest] [kvm-devel] [RFC PATCH 0/4] Inter-guest virtio I/O example with lguest
Avi Kivity
avi at qumranet.com
Fri Mar 21 02:36:34 EST 2008
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
More information about the Lguest
mailing list