diff options
author | Alon Levy <alevy@redhat.com> | 2012-04-04 20:40:59 +0300 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2012-04-05 18:28:49 +0300 |
commit | 2ec2dbc78a660ee4e3315f50c881d9e31a8e4fe2 (patch) | |
tree | 5b5bd52f9df547bcbbbdf9c492b54848b8aca23e /server/red_parse_qxl.h | |
parent | 2439c0dc90bcfd83d3e0eb4f08f19ef2face2118 (diff) | |
download | spice-2ec2dbc78a660ee4e3315f50c881d9e31a8e4fe2.tar.gz spice-2ec2dbc78a660ee4e3315f50c881d9e31a8e4fe2.tar.xz spice-2ec2dbc78a660ee4e3315f50c881d9e31a8e4fe2.zip |
server: allow failure in getvirt
This patch changed getvirt to continue working even if spice_critical
doesn't abort (i.e. SPICE_ABORT_LEVEL != -1). This is in preparation to
make getvirt not abort at all. The reason is that getvirt is run on
guest provided memory, so a bad driver can crash the vm.
Diffstat (limited to 'server/red_parse_qxl.h')
-rw-r--r-- | server/red_parse_qxl.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/server/red_parse_qxl.h b/server/red_parse_qxl.h index c2edfb92..d01d363e 100644 --- a/server/red_parse_qxl.h +++ b/server/red_parse_qxl.h @@ -113,25 +113,25 @@ typedef struct RedCursorCmd { void red_get_rect_ptr(SpiceRect *red, const QXLRect *qxl); -void red_get_drawable(RedMemSlotInfo *slots, int group_id, - RedDrawable *red, QXLPHYSICAL addr, uint32_t flags); +int red_get_drawable(RedMemSlotInfo *slots, int group_id, + RedDrawable *red, QXLPHYSICAL addr, uint32_t flags); void red_put_drawable(RedDrawable *red); void red_put_image(SpiceImage *red); -void red_get_update_cmd(RedMemSlotInfo *slots, int group_id, - RedUpdateCmd *red, QXLPHYSICAL addr); +int red_get_update_cmd(RedMemSlotInfo *slots, int group_id, + RedUpdateCmd *red, QXLPHYSICAL addr); void red_put_update_cmd(RedUpdateCmd *red); -void red_get_message(RedMemSlotInfo *slots, int group_id, - RedMessage *red, QXLPHYSICAL addr); +int red_get_message(RedMemSlotInfo *slots, int group_id, + RedMessage *red, QXLPHYSICAL addr); void red_put_message(RedMessage *red); -void red_get_surface_cmd(RedMemSlotInfo *slots, int group_id, - RedSurfaceCmd *red, QXLPHYSICAL addr); +int red_get_surface_cmd(RedMemSlotInfo *slots, int group_id, + RedSurfaceCmd *red, QXLPHYSICAL addr); void red_put_surface_cmd(RedSurfaceCmd *red); -void red_get_cursor_cmd(RedMemSlotInfo *slots, int group_id, - RedCursorCmd *red, QXLPHYSICAL addr); +int red_get_cursor_cmd(RedMemSlotInfo *slots, int group_id, + RedCursorCmd *red, QXLPHYSICAL addr); void red_put_cursor_cmd(RedCursorCmd *red); #endif |