From: Anthony Liguori <anthony@codemonkey.ws>
To: Andrea Arcangeli <aarcange@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: Spice project is now open
Date: Sat, 12 Dec 2009 17:52:49 -0600 [thread overview]
Message-ID: <4B242CD1.6030108@codemonkey.ws> (raw)
In-Reply-To: <20091212234305.GD11611@random.random>
Andrea Arcangeli wrote:
> On Sat, Dec 12, 2009 at 11:40:21AM -0600, Anthony Liguori wrote:
>
>> If Spice can crash a guest, that indicates to me that Spice is
>>
>
> That's not what I meant, anything in qemu address space can crash a
> guest not just spice, even qcow2 could crash a guest, you just need to
> *vaddr_in_guest_physical_space = 0 through a corrupted pointer
> (corrupted pointers are very rare, gcc is very pedantic, there are
> tools to trap those but they historically happened a few times in the
> kernel), but when I said it I didn't in mind crashing just the guest,
> I meant corrupting qemu memory itself through a different corrupted
> vaddr, but it is the same risk, you could flip a bit in a buffer
> header holding ext4 metadata in the guest physical address space or
> flip a bit in qcow2 cluster bitmap, it doesn't make a difference both
> could result in fs corruption in an extremely unlikely scenario (and
> that extremely unlikely scenario is the only one where the microkernel
> design would eventually payoff, where you get the graphics and mouse
> hosed, but the guest sill is reachable through the network). I simply
> meant spice should live in the same address space where the other
> virtio drivers are living for the same reasons (performance), it's no
> different.
This is the bit that confuses me. VNC is not a driver. When I say it
cannot crash the guest, I mean that if the VNC server makes a mistake,
there may be a SEGV in qemu or it may just result in a VNC client seeing
corruption. The guest does not see a bad VGA register content though or
something like that. VNC is a host driver or backend service or
whatever you want to call it. VNC does not have migration state because
it has no guest visible state.
When you compare Spice to a virtio driver, that implies to me that it
does interact directly with the guest. In fact, when you have a driver
passing high level commands to Spice, you would think that the status of
these commands would be pending state, no?
Let's say the guest sends a fill rectangle command and the Spice server
sends that to a client. The Spice server needs to know when the client
has finished that (maybe not, but let's assume it does) so there is now
a pending request that someone has to keep track of. If you do a savevm
or a live migration, or the client disconnects, the state of that
request has to be saved somewhere (unless you tell the guest that the
client has disconnected which is how Xen handles pv device migration).
So that's what I'm trying to understand. How far does the guest's
visibility go? Is the guest totally ignorant of anything other than
QXL? If so, that's good, and I'm very happy about it :-)
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-12-12 23:52 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1072764996.1548651260538641101.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2009-12-11 13:45 ` [Qemu-devel] Spice project is now open Yaniv Kamay
2009-12-11 14:03 ` Jun Koi
2009-12-11 14:17 ` Yaniv Kamay
2009-12-11 14:09 ` Alexander Graf
2009-12-11 14:28 ` Jun Koi
2009-12-11 16:34 ` Anthony Liguori
2009-12-11 16:52 ` Chris Wright
2009-12-11 17:01 ` Anthony Liguori
2009-12-11 17:31 ` Chris Wright
2009-12-11 17:02 ` Yaniv Kamay
2009-12-11 17:16 ` Anthony Liguori
2009-12-11 17:21 ` Alexander Graf
2009-12-11 17:28 ` Anthony Liguori
2009-12-11 17:18 ` Alexander Graf
2009-12-11 18:49 ` Glauber Costa
2009-12-11 15:57 ` Anthony Liguori
2009-12-11 16:47 ` Yaniv Kamay
2009-12-11 16:57 ` Chris Wright
2009-12-11 17:00 ` Anthony Liguori
2009-12-11 17:38 ` Johannes Schindelin
2009-12-11 18:48 ` Izik Eidus
2009-12-11 18:57 ` Ben Taylor
2009-12-11 19:06 ` Izik Eidus
2009-12-11 19:09 ` Glauber Costa
2009-12-11 19:00 ` Izik Eidus
2009-12-11 19:06 ` Anthony Liguori
2009-12-11 19:22 ` Izik Eidus
2009-12-11 19:37 ` Glauber Costa
2009-12-11 19:07 ` Glauber Costa
2009-12-11 19:24 ` Izik Eidus
2010-01-23 23:39 ` Izik Eidus
2009-12-11 19:03 ` malc
2009-12-11 19:10 ` Izik Eidus
2009-12-11 19:24 ` malc
2009-12-11 19:33 ` Izik Eidus
2009-12-11 19:53 ` malc
2009-12-11 20:26 ` Izik Eidus
2009-12-13 11:11 ` Izik Eidus
2009-12-11 19:04 ` Anthony Liguori
2009-12-11 19:15 ` Glauber Costa
2009-12-11 19:25 ` Izik Eidus
2009-12-11 19:42 ` Chris Wright
2009-12-11 19:21 ` Izik Eidus
2009-12-11 19:30 ` Anthony Liguori
2009-12-11 19:39 ` Izik Eidus
2009-12-11 19:51 ` Anthony Liguori
2009-12-11 20:21 ` Izik Eidus
2009-12-11 20:46 ` Anthony Liguori
2009-12-11 21:13 ` Izik Eidus
2009-12-11 21:54 ` Anthony Liguori
2009-12-11 22:34 ` Izik Eidus
2009-12-12 0:54 ` [Qemu-devel] " Paolo Bonzini
2009-12-12 3:34 ` Anthony Liguori
2009-12-12 9:14 ` Paolo Bonzini
2009-12-12 15:11 ` Anthony Liguori
2009-12-12 16:09 ` Avi Kivity
2009-12-12 17:28 ` Anthony Liguori
2009-12-13 10:18 ` Avi Kivity
2009-12-11 22:08 ` [Qemu-devel] " Alexander Graf
2009-12-11 22:33 ` Dor Laor
2009-12-11 22:46 ` Izik Eidus
2009-12-11 23:54 ` Alexander Graf
2009-12-12 0:14 ` Izik Eidus
2009-12-12 0:27 ` Alexander Graf
2009-12-12 0:53 ` Izik Eidus
2009-12-12 1:08 ` Alexander Graf
2009-12-12 1:33 ` Izik Eidus
2009-12-11 23:58 ` [Qemu-devel] X support for QXL and SPICE Soeren Sandmann
2009-12-12 0:05 ` [Qemu-devel] " Alexander Graf
2009-12-12 0:31 ` Izik Eidus
2009-12-12 0:37 ` Alexander Graf
2009-12-12 0:08 ` Izik Eidus
2009-12-12 3:31 ` [Qemu-devel] " Anthony Liguori
2009-12-12 3:52 ` Izik Eidus
2009-12-12 15:13 ` Anthony Liguori
2009-12-12 15:29 ` Izik Eidus
2009-12-12 15:43 ` Alexander Graf
2009-12-12 16:01 ` Izik Eidus
2009-12-12 6:22 ` Dave Airlie
2009-12-12 16:39 ` Soeren Sandmann
2009-12-14 14:07 ` Gerd Hoffmann
2009-12-14 13:56 ` [Qemu-devel] Spice project is now open Gerd Hoffmann
2009-12-14 14:33 ` Anthony Liguori
2009-12-11 20:32 ` Izik Eidus
2009-12-11 20:48 ` Anthony Liguori
2009-12-11 21:31 ` Izik Eidus
2009-12-11 21:58 ` Anthony Liguori
2009-12-11 22:55 ` Chris Wright
2009-12-12 3:27 ` Anthony Liguori
2009-12-12 1:03 ` [Qemu-devel] " Paolo Bonzini
2009-12-12 3:44 ` Anthony Liguori
2009-12-12 14:44 ` Andrea Arcangeli
2009-12-12 15:03 ` Anthony Liguori
2009-12-12 16:06 ` Andrea Arcangeli
2009-12-12 17:40 ` Anthony Liguori
2009-12-12 17:48 ` Izik Eidus
2009-12-12 19:26 ` Anthony Liguori
2009-12-12 19:48 ` Izik Eidus
2009-12-12 22:41 ` Dor Laor
2009-12-12 22:35 ` Dor Laor
2009-12-12 23:46 ` Anthony Liguori
2009-12-13 0:23 ` Daniel P. Berrange
2009-12-13 10:46 ` Avi Kivity
2009-12-14 14:42 ` Anthony Liguori
2009-12-14 14:53 ` Avi Kivity
2009-12-14 15:17 ` Daniel P. Berrange
2009-12-14 15:21 ` Avi Kivity
2009-12-14 15:46 ` Anthony Liguori
2009-12-14 15:10 ` Daniel P. Berrange
2009-12-14 15:50 ` Anthony Liguori
2009-12-14 16:00 ` Avi Kivity
2009-12-14 16:15 ` Anthony Liguori
2009-12-14 17:52 ` Mark McLoughlin
2009-12-13 14:56 ` Gildas Le Nadan
2009-12-14 14:40 ` Gerd Hoffmann
2009-12-14 14:50 ` Anthony Liguori
2009-12-12 23:43 ` Andrea Arcangeli
2009-12-12 23:52 ` Anthony Liguori [this message]
2009-12-13 0:04 ` Andrea Arcangeli
2009-12-13 0:18 ` Anthony Liguori
2009-12-13 9:10 ` Izik Eidus
2009-12-15 13:25 ` Soeren Sandmann
2009-12-11 19:25 ` [Qemu-devel] " Mark McLoughlin
2009-12-11 19:38 ` Anthony Liguori
2009-12-11 19:45 ` Mark McLoughlin
2009-12-11 19:53 ` Anthony Liguori
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=4B242CD1.6030108@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=aarcange@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.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 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).