Hello community, here is the log from the commit of package kvm for openSUSE:Factory checked in at 2012-09-06 08:55:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kvm (Old) and /work/SRC/openSUSE:Factory/.kvm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kvm", Maintainer is "brog...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/kvm/kvm.changes 2012-08-04 13:10:15.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kvm.new/kvm.changes 2012-09-06 08:55:58.000000000 +0200 @@ -1,0 +2,25 @@ +Wed Sep 5 13:37:22 UTC 2012 - brog...@suse.com + +- Fix VT100 emulation vulnerability (bnc#777084) (CVE-2012-3515) + +------------------------------------------------------------------- +Thu Aug 30 20:14:10 UTC 2012 - brog...@suse.com + +- Update to qemu-kvm v1.2 rc1 +- Update to the most recent upstream seabios code base + +------------------------------------------------------------------- +Mon Aug 20 20:36:58 UTC 2012 - brog...@suse.com + +- Update to latest qemu-kvm, which is basically at the 1.2 rc0 + stage, though it hasn't officially been tagged as such +- Update to the most recent upstream ipxe code base +- add next-gen libcap build dependency to get the best security + protection when using the bridge-helper. + +------------------------------------------------------------------- +Thu Aug 16 02:22:58 UTC 2012 - brog...@suse.com + +- Fix i8254 PIT emulation (bnc#769138) + +------------------------------------------------------------------- Old: ---- ipxe-1.0.0.tar.bz2 ipxe-isa-Avoid-spurious-compiler-warning-on-gcc-4.7.patch ipxe-qib7322-Fix-compiler-warning-on-gcc-4.7.patch kvm-qemu-preXX-uhci-fix-uhci_async_cancel_all.patch qemu-kvm-1.1.1.tar.bz2 seabios-1.7.0.tar.bz2 New: ---- ipxe-git-a05871d.tar.bz2 kvm-qemu-preXX-configure-avoid-compiler-warning-in-pipe2-detection.patch kvm-qemu-preXX-console-bounds-check-whenever-changing-the-cursor-du.patch qemu-kvm-1.2.rc1.tar.bz2 seabios-Makefile-fix-iasl-option-detection.patch seabios-git-7a39e72.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kvm.spec ++++++ --- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200 +++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200 @@ -19,11 +19,12 @@ %bcond_without spice -%define package_true_version 1.1.1 -%define package_base_version 1.1.1 -%define bios_id seabios-1.7.0 -# ipxe is through git commit id: addf699c86ae18edd7de13433da78be926c22504 -%define pxe_rom_id ipxe-1.0.0 +%define package_true_version 1.2.rc1 +%define package_base_version 1.2.0 +%define bios_id seabios-git-7a39e72 +# (this is post v1.7.0 upstream seabios code) +%define pxe_rom_id ipxe-git-a05871d +# (this is post v1.0.0 upstream ipxe code) %define vgabios_id vgabios-0.6c # sgabios comes from: http://sgabios.googlecode.com/svn/trunk, Rev 8 %define sgabios_id sgabios @@ -56,6 +57,7 @@ BuildRequires: libaio-devel BuildRequires: libattr-devel BuildRequires: libcap-devel +BuildRequires: libcap-ng-devel BuildRequires: libcurl-devel BuildRequires: libpulse-devel BuildRequires: ncurses-devel @@ -125,11 +127,10 @@ # ipxe patches Patch01: ipxe-rom-settings.patch Patch02: ipxe-avoid-bad-array-reference.patch -Patch03: ipxe-qib7322-Fix-compiler-warning-on-gcc-4.7.patch -Patch04: ipxe-isa-Avoid-spurious-compiler-warning-on-gcc-4.7.patch # seabios patches Patch20: seabios-sanitize-version.patch +Patch21: seabios-Makefile-fix-iasl-option-detection.patch # vgabios patches Patch40: vgabios-bcc-paths.patch @@ -149,7 +150,8 @@ Patch104: kvm-qemu-madvise-hugepages.patch Patch105: kvm-qemu-preXX-dictzip3.patch Patch106: kvm-qemu-preXX-use--libexecdir-instead-of-ignoring.patch -Patch107: kvm-qemu-preXX-uhci-fix-uhci_async_cancel_all.patch +Patch107: kvm-qemu-preXX-configure-avoid-compiler-warning-in-pipe2-detection.patch +Patch108: kvm-qemu-preXX-console-bounds-check-whenever-changing-the-cursor-du.patch Patch200: kvm-studio-slirp-nooutgoing.patch Patch201: kvm-studio-vnc.patch @@ -213,8 +215,6 @@ # ipxe patches %patch01 -p1 %patch02 -p1 -%patch03 -p1 -%patch04 -p1 %endif %setup -q -n qemu-%{name}-%{package_true_version} -a 6 -a 9 -a 10 %if %{build_fw_from_source} @@ -225,6 +225,7 @@ done # seabios patches %patch20 -p1 +%patch21 -p1 # vgabios patches %patch40 -p1 @@ -245,6 +246,7 @@ %patch105 -p1 %patch106 -p1 %patch107 -p1 +%patch108 -p1 # Studio addons %patch200 -p1 @@ -302,16 +304,15 @@ --disable-vnc-sasl \ --disable-vnc-jpeg \ --disable-vnc-png \ - --disable-vnc-thread \ --enable-curses \ --enable-curl \ --disable-fdt \ --disable-bluez \ --enable-kvm \ - --enable-kvm-device-assignment \ --disable-user \ --enable-vde \ --enable-virtfs \ + --enable-cap-ng \ %if %{build_fw_from_source} --disable-blobs \ %endif ++++++ kvm-qemu-madvise-DONTFORK-for-tight-memory-migration.patch ++++++ --- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200 +++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200 @@ -1,8 +1,8 @@ -Index: qemu-kvm-0.15.0/exec.c +Index: qemu-kvm-1.2.rc0/exec.c =================================================================== ---- qemu-kvm-0.15.0.orig/exec.c -+++ qemu-kvm-0.15.0/exec.c -@@ -2941,6 +2941,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic +--- qemu-kvm-1.2.rc0.orig/exec.c ++++ qemu-kvm-1.2.rc0/exec.c +@@ -2527,6 +2527,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a if (!new_block->host) { new_block->host = qemu_vmalloc(size); qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE); @@ -10,9 +10,9 @@ } #else fprintf(stderr, "-mem-path option unsupported\n"); -@@ -2968,6 +2969,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic +@@ -2542,6 +2543,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a + new_block->host = qemu_vmalloc(size); } - #endif qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE); + qemu_madvise(new_block->host, size, QEMU_MADV_DONTFORK); } ++++++ kvm-qemu-madvise-hugepages.patch ++++++ --- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200 +++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200 @@ -1,8 +1,8 @@ -Index: qemu-kvm-0.15.0/exec.c +Index: qemu-kvm-1.2.rc0/exec.c =================================================================== ---- qemu-kvm-0.15.0.orig/exec.c -+++ qemu-kvm-0.15.0/exec.c -@@ -2942,6 +2942,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic +--- qemu-kvm-1.2.rc0.orig/exec.c ++++ qemu-kvm-1.2.rc0/exec.c +@@ -2528,6 +2528,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a new_block->host = qemu_vmalloc(size); qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE); qemu_madvise(new_block->host, size, QEMU_MADV_DONTFORK); @@ -12,8 +12,8 @@ } #else fprintf(stderr, "-mem-path option unsupported\n"); -@@ -2970,6 +2973,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(Devic - #endif +@@ -2544,6 +2547,9 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_a + } qemu_madvise(new_block->host, size, QEMU_MADV_MERGEABLE); qemu_madvise(new_block->host, size, QEMU_MADV_DONTFORK); +#ifdef MADV_HUGEPAGE ++++++ kvm-qemu-preXX-configure-avoid-compiler-warning-in-pipe2-detection.patch ++++++ >From cfe186e2096493072928d1ffb8554f2e2f9c8f78 Mon Sep 17 00:00:00 2001 From: Bruce Rogers <brog...@suse.com> Date: Mon, 20 Aug 2012 10:32:56 -0600 Subject: [PATCH] configure: avoid compiler warning in pipe2 detection When building qemu-kvm for openSUSE:Factory, I am getting a warning in the pipe2 detection performed by configure, which prevents using --enable-werror. Change test code to use return value of pipe2. Signed-off-by: Bruce Rogers <brog...@suse.com> --- configure | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 5808764..2e1f7f8 100755 --- a/configure +++ b/configure @@ -2399,8 +2399,7 @@ cat > $TMPC << EOF int main(void) { int pipefd[2]; - pipe2(pipefd, O_CLOEXEC); - return 0; + return pipe2(pipefd, O_CLOEXEC); } EOF if compile_prog "" "" ; then -- 1.7.7 ++++++ kvm-qemu-preXX-console-bounds-check-whenever-changing-the-cursor-du.patch ++++++ From: Bruce Rogers <brog...@suse.com> Date: Tue, 28 Aug 2012 14:04:13 -0600 Subject: [PATCH] console: bounds check whenever changing the cursor due to an escape code References: bnc#777084, CVE-2012-3515 This is XSA-17 / CVE-2012-3515 Signed-off-by: Ian Campbell <ian.campb...@citrix.com> Signed-off-by: Bruce Rogers <brog...@suse.com> --- console.c | 57 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 28 insertions(+), 29 deletions(-) Index: qemu-kvm-0.12.5/console.c =================================================================== --- qemu-kvm-0.12.5.orig/console.c +++ qemu-kvm-0.12.5/console.c @@ -832,6 +832,26 @@ static void console_clear_xy(TextConsole update_xy(s, x, y); } +/* set cursor, checking bounds */ +static void set_cursor(TextConsole *s, int x, int y) +{ + if (x < 0) { + x = 0; + } + if (y < 0) { + y = 0; + } + if (y >= s->height) { + y = s->height - 1; + } + if (x >= s->width) { + x = s->width - 1; + } + + s->x = x; + s->y = y; +} + static void console_putchar(TextConsole *s, int ch) { TextCell *c; @@ -903,7 +923,8 @@ static void console_putchar(TextConsole s->esc_params[s->nb_esc_params] * 10 + ch - '0'; } } else { - s->nb_esc_params++; + if (s->nb_esc_params < MAX_ESC_PARAMS) + s->nb_esc_params++; if (ch == ';' || ch == '?') break; #ifdef DEBUG_CONSOLE @@ -917,59 +938,37 @@ static void console_putchar(TextConsole if (s->esc_params[0] == 0) { s->esc_params[0] = 1; } - s->y -= s->esc_params[0]; - if (s->y < 0) { - s->y = 0; - } + set_cursor(s, s->x, s->y - s->esc_params[0]); break; case 'B': /* move cursor down */ if (s->esc_params[0] == 0) { s->esc_params[0] = 1; } - s->y += s->esc_params[0]; - if (s->y >= s->height) { - s->y = s->height - 1; - } + set_cursor(s, s->x, s->y + s->esc_params[0]); break; case 'C': /* move cursor right */ if (s->esc_params[0] == 0) { s->esc_params[0] = 1; } - s->x += s->esc_params[0]; - if (s->x >= s->width) { - s->x = s->width - 1; - } + set_cursor(s, s->x + s->esc_params[0], s->y); break; case 'D': /* move cursor left */ if (s->esc_params[0] == 0) { s->esc_params[0] = 1; } - s->x -= s->esc_params[0]; - if (s->x < 0) { - s->x = 0; - } + set_cursor(s, s->x - s->esc_params[0], s->y); break; case 'G': /* move cursor to column */ - s->x = s->esc_params[0] - 1; - if (s->x < 0) { - s->x = 0; - } + set_cursor(s, s->esc_params[0] - 1, s->y); break; case 'f': case 'H': /* move cursor to row, column */ - s->x = s->esc_params[1] - 1; - if (s->x < 0) { - s->x = 0; - } - s->y = s->esc_params[0] - 1; - if (s->y < 0) { - s->y = 0; - } + set_cursor(s, s->esc_params[1] - 1, s->esc_params[0] - 1); break; case 'J': switch (s->esc_params[0]) { ++++++ kvm-qemu-preXX-dictzip1.patch ++++++ --- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200 +++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200 @@ -24,10 +24,10 @@ 2 files changed, 502 insertions(+), 1 deletions(-) create mode 100644 block/dictzip.c -Index: qemu-kvm-1.1rc2/block/dictzip.c +Index: qemu-kvm-1.2.rc0/block/dictzip.c =================================================================== --- /dev/null -+++ qemu-kvm-1.1rc2/block/dictzip.c ++++ qemu-kvm-1.2.rc0/block/dictzip.c @@ -0,0 +1,566 @@ +/* + * DictZip Block driver for dictzip enabled gzip files @@ -376,7 +376,7 @@ +{ + DictZipAIOCB *acb = (DictZipAIOCB *)opaque; + -+ qemu_iovec_from_buffer(acb->qiov, acb->buf, acb->len); ++ qemu_iovec_from_buf(acb->qiov, 0, acb->buf, acb->len); + acb->common.cb(acb->common.opaque, 0); + qemu_bh_delete(acb->bh); + qemu_aio_release(acb); @@ -411,7 +411,7 @@ + s->stream_in_use &= ~(1 << acb->zStream_id); + + /* nofity the caller */ -+ qemu_iovec_from_buffer(acb->qiov, buf + acb->offset, acb->len); ++ qemu_iovec_from_buf(acb->qiov, 0, buf + acb->offset, acb->len); + acb->common.cb(acb->common.opaque, 0); + + /* fill the cache */ @@ -595,15 +595,15 @@ +} + +block_init(dictzip_block_init); -Index: qemu-kvm-1.1rc2/Makefile.objs +Index: qemu-kvm-1.2.rc0/block/Makefile.objs =================================================================== ---- qemu-kvm-1.1rc2.orig/Makefile.objs -+++ qemu-kvm-1.1rc2/Makefile.objs -@@ -54,6 +54,7 @@ block-nested-y += qed.o qed-gencb.o qed- - block-nested-y += qed-check.o - block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o - block-nested-y += stream.o -+block-nested-y += dictzip.o - block-nested-$(CONFIG_WIN32) += raw-win32.o - block-nested-$(CONFIG_POSIX) += raw-posix.o - block-nested-$(CONFIG_LIBISCSI) += iscsi.o +--- qemu-kvm-1.2.rc0.orig/block/Makefile.objs ++++ qemu-kvm-1.2.rc0/block/Makefile.objs +@@ -4,6 +4,7 @@ block-obj-y += qed.o qed-gencb.o qed-l2- + block-obj-y += qed-check.o + block-obj-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o + block-obj-y += stream.o ++block-obj-y += dictzip.o + block-obj-$(CONFIG_WIN32) += raw-win32.o + block-obj-$(CONFIG_POSIX) += raw-posix.o + block-obj-$(CONFIG_LIBISCSI) += iscsi.o ++++++ kvm-qemu-preXX-dictzip2.patch ++++++ --- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200 +++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200 @@ -25,10 +25,10 @@ 2 files changed, 334 insertions(+), 1 deletions(-) create mode 100644 block/tar.c -Index: qemu-kvm-1.1rc2/block/tar.c +Index: qemu-kvm-1.2.rc0/block/tar.c =================================================================== --- /dev/null -+++ qemu-kvm-1.1rc2/block/tar.c ++++ qemu-kvm-1.2.rc0/block/tar.c @@ -0,0 +1,356 @@ +/* + * Tar block driver @@ -323,7 +323,7 @@ + char *buf = g_malloc0(nb_sectors * SECTOR_SIZE); + + acb = qemu_aio_get(&tar_aio_pool, bs, cb, opaque); -+ qemu_iovec_from_buffer(qiov, buf, nb_sectors * SECTOR_SIZE); ++ qemu_iovec_from_buf(qiov, 0, buf, nb_sectors * SECTOR_SIZE); + g_free(buf); + acb->bh = qemu_bh_new(tar_sparse_cb, acb); + qemu_bh_schedule(acb->bh); @@ -342,7 +342,7 @@ + buf + offs, SECTOR_SIZE); + } + -+ qemu_iovec_from_buffer(qiov, buf, nb_sectors * SECTOR_SIZE); ++ qemu_iovec_from_buf(qiov, 0, buf, nb_sectors * SECTOR_SIZE); + acb = qemu_aio_get(&tar_aio_pool, bs, cb, opaque); + acb->bh = qemu_bh_new(tar_sparse_cb, acb); + qemu_bh_schedule(acb->bh); @@ -386,16 +386,16 @@ +} + +block_init(tar_block_init); -Index: qemu-kvm-1.1rc2/Makefile.objs +Index: qemu-kvm-1.2.rc0/block/Makefile.objs =================================================================== ---- qemu-kvm-1.1rc2.orig/Makefile.objs -+++ qemu-kvm-1.1rc2/Makefile.objs -@@ -54,7 +54,7 @@ block-nested-y += qed.o qed-gencb.o qed- - block-nested-y += qed-check.o - block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o - block-nested-y += stream.o --block-nested-y += dictzip.o -+block-nested-y += dictzip.o tar.o - block-nested-$(CONFIG_WIN32) += raw-win32.o - block-nested-$(CONFIG_POSIX) += raw-posix.o - block-nested-$(CONFIG_LIBISCSI) += iscsi.o +--- qemu-kvm-1.2.rc0.orig/block/Makefile.objs ++++ qemu-kvm-1.2.rc0/block/Makefile.objs +@@ -4,7 +4,7 @@ block-obj-y += qed.o qed-gencb.o qed-l2- + block-obj-y += qed-check.o + block-obj-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o + block-obj-y += stream.o +-block-obj-y += dictzip.o ++block-obj-y += dictzip.o tar.o + block-obj-$(CONFIG_WIN32) += raw-win32.o + block-obj-$(CONFIG_POSIX) += raw-posix.o + block-obj-$(CONFIG_LIBISCSI) += iscsi.o ++++++ kvm-studio-slirp-nooutgoing.patch ++++++ --- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200 +++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200 @@ -1,8 +1,8 @@ -Index: qemu-kvm-0.15.rc0/vl.c +Index: qemu-kvm-1.2.rc0/vl.c =================================================================== ---- qemu-kvm-0.15.rc0.orig/vl.c -+++ qemu-kvm-0.15.rc0/vl.c -@@ -213,6 +213,7 @@ const char *vnc_display; +--- qemu-kvm-1.2.rc0.orig/vl.c ++++ qemu-kvm-1.2.rc0/vl.c +@@ -210,6 +210,7 @@ const char *vnc_display; int acpi_enabled = 1; int no_hpet = 0; int fd_bootchk = 1; @@ -10,7 +10,7 @@ int no_reboot = 0; int no_shutdown = 0; int cursor_hide = 1; -@@ -2497,6 +2498,14 @@ int main(int argc, char **argv, char **e +@@ -2745,6 +2746,14 @@ int main(int argc, char **argv, char **e case QEMU_OPTION_singlestep: singlestep = 1; break; @@ -25,11 +25,11 @@ case QEMU_OPTION_S: autostart = 0; break; -Index: qemu-kvm-0.15.rc0/slirp/tcp_subr.c +Index: qemu-kvm-1.2.rc0/slirp/tcp_subr.c =================================================================== ---- qemu-kvm-0.15.rc0.orig/slirp/tcp_subr.c -+++ qemu-kvm-0.15.rc0/slirp/tcp_subr.c -@@ -317,6 +317,9 @@ tcp_sockclosed(struct tcpcb *tp) +--- qemu-kvm-1.2.rc0.orig/slirp/tcp_subr.c ++++ qemu-kvm-1.2.rc0/slirp/tcp_subr.c +@@ -324,6 +324,9 @@ tcp_sockclosed(struct tcpcb *tp) * nonblocking. Connect returns after the SYN is sent, and does * not wait for ACK+SYN. */ @@ -39,7 +39,7 @@ int tcp_fconnect(struct socket *so) { Slirp *slirp = so->slirp; -@@ -325,6 +328,11 @@ int tcp_fconnect(struct socket *so) +@@ -332,6 +335,11 @@ int tcp_fconnect(struct socket *so) DEBUG_CALL("tcp_fconnect"); DEBUG_ARG("so = %lx", (long )so); @@ -51,7 +51,7 @@ if( (ret = so->s = qemu_socket(AF_INET,SOCK_STREAM,0)) >= 0) { int opt, s=so->s; struct sockaddr_in addr; -@@ -417,6 +425,13 @@ tcp_connect(struct socket *inso) +@@ -424,6 +432,13 @@ tcp_connect(struct socket *inso) tcp_close(sototcpcb(so)); /* This will sofree() as well */ return; } @@ -65,18 +65,18 @@ socket_set_nonblock(s); opt = 1; setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)); -@@ -427,6 +442,7 @@ tcp_connect(struct socket *inso) +@@ -434,6 +449,7 @@ tcp_connect(struct socket *inso) so->so_fport = addr.sin_port; so->so_faddr = addr.sin_addr; + /* Translate connections from localhost to the real hostname */ - if (so->so_faddr.s_addr == 0 || so->so_faddr.s_addr == loopback_addr.s_addr) - so->so_faddr = slirp->vhost_addr; -Index: qemu-kvm-0.15.rc0/slirp/socket.c + if (so->so_faddr.s_addr == 0 || + (so->so_faddr.s_addr & loopback_mask) == +Index: qemu-kvm-1.2.rc0/slirp/socket.c =================================================================== ---- qemu-kvm-0.15.rc0.orig/slirp/socket.c -+++ qemu-kvm-0.15.rc0/slirp/socket.c +--- qemu-kvm-1.2.rc0.orig/slirp/socket.c ++++ qemu-kvm-1.2.rc0/slirp/socket.c @@ -531,6 +531,8 @@ sorecvfrom(struct socket *so) } /* if ping packet */ } @@ -99,11 +99,11 @@ /* Don't care what port we get */ ret = sendto(so->s, m->m_data, m->m_len, 0, (struct sockaddr *)&addr, sizeof (struct sockaddr)); -Index: qemu-kvm-0.15.rc0/qemu-options.hx +Index: qemu-kvm-1.2.rc0/qemu-options.hx =================================================================== ---- qemu-kvm-0.15.rc0.orig/qemu-options.hx -+++ qemu-kvm-0.15.rc0/qemu-options.hx -@@ -1991,6 +1991,16 @@ Store the QEMU process PID in @var{file} +--- qemu-kvm-1.2.rc0.orig/qemu-options.hx ++++ qemu-kvm-1.2.rc0/qemu-options.hx +@@ -2316,6 +2316,16 @@ Store the QEMU process PID in @var{file} from a script. ETEXI ++++++ kvm-studio-vnc.patch ++++++ --- /var/tmp/diff_new_pack.7CkozH/_old 2012-09-06 08:56:00.000000000 +0200 +++ /var/tmp/diff_new_pack.7CkozH/_new 2012-09-06 08:56:00.000000000 +0200 @@ -1,8 +1,8 @@ -Index: qemu-kvm-1.1rc2/ui/vnc.c +Index: qemu-kvm-1.2.rc0/ui/vnc.c =================================================================== ---- qemu-kvm-1.1rc2.orig/ui/vnc.c -+++ qemu-kvm-1.1rc2/ui/vnc.c -@@ -44,6 +44,7 @@ static const struct timeval VNC_REFRESH_ +--- qemu-kvm-1.2.rc0.orig/ui/vnc.c ++++ qemu-kvm-1.2.rc0/ui/vnc.c +@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_ static VncDisplay *vnc_display; /* needed for info vnc */ static DisplayChangeListener *dcl; @@ -10,7 +10,7 @@ static int vnc_cursor_define(VncState *vs); static void vnc_release_modifiers(VncState *vs); -@@ -1030,6 +1031,7 @@ static void vnc_disconnect_start(VncStat +@@ -1018,6 +1019,7 @@ static void vnc_disconnect_start(VncStat static void vnc_disconnect_finish(VncState *vs) { int i; @@ -18,7 +18,7 @@ vnc_jobs_join(vs); /* Wait encoding jobs */ -@@ -1077,6 +1079,13 @@ static void vnc_disconnect_finish(VncSta +@@ -1063,6 +1065,13 @@ static void vnc_disconnect_finish(VncSta } g_free(vs->lossy_rect); g_free(vs); @@ -32,7 +32,7 @@ } int vnc_client_io_error(VncState *vs, int ret, int last_errno) -@@ -2860,6 +2869,39 @@ char *vnc_display_local_addr(DisplayStat +@@ -2844,6 +2853,39 @@ char *vnc_display_local_addr(DisplayStat return vnc_socket_local_addr("%s:%s", vs->lsock); } @@ -72,40 +72,46 @@ int vnc_display_open(DisplayState *ds, const char *display) { VncDisplay *vs = ds ? (VncDisplay *)ds->opaque : vnc_display; -@@ -2892,7 +2934,36 @@ int vnc_display_open(DisplayState *ds, c +@@ -2876,6 +2918,9 @@ int vnc_display_open(DisplayState *ds, c while ((options = strchr(options, ','))) { options++; if (strncmp(options, "password", 8) == 0) { -+ char *start, *end; -+ start = strchr(options, '='); -+ end = strchr(options, ','); ++ char *start, *end; ++ start = strchr(options, '='); ++ end = strchr(options, ','); + if (fips_get_state()) { + fprintf(stderr, + "VNC password auth disabled due to FIPS mode, " +@@ -2886,6 +2931,32 @@ int vnc_display_open(DisplayState *ds, c + return -1; + } password = 1; /* Require password auth */ -+ if (start && (!end || (start < end))) { -+ int len = end ? end-(start+1) : strlen(start+1); -+ char *text = g_malloc(len+1); -+ strncpy(text, start+1, len); -+ text[len] = '\0'; -+ -+ if (strncmp(options, "password-file=", 14) == 0) { -+ read_file_password(ds, text); -+ } else { -+ vnc_display_password(ds, text); -+ } -+ -+ free(text); -+ } -+ } else if (strncmp(options, "allowed-connections=", 20) == 0) { -+ char *start, *end; -+ start = strchr(options, '='); -+ end = strchr(options, ','); -+ if (start && (!end || (start < end))) { -+ int len = end ? end-(start+1) : strlen(start+1); -+ char *text = g_malloc(len+1); -+ strncpy(text, start+1, len); -+ text[len] = '\0'; -+ VNC_DEBUG("Maximum number of disconnects: %s\n", text); -+ allowed_connections = atoi(text); -+ } ++ if (start && (!end || (start < end))) { ++ int len = end ? end-(start+1) : strlen(start+1); ++ char *text = g_malloc(len+1); ++ strncpy(text, start+1, len); ++ text[len] = '\0'; ++ ++ if (strncmp(options, "password-file=", 14) == 0) { ++ read_file_password(ds, text); ++ } else { ++ vnc_display_password(ds, text); ++ } ++ ++ free(text); ++ } ++ } else if (strncmp(options, "allowed-connections=", 20) == 0) { ++ char *start, *end; ++ start = strchr(options, '='); ++ end = strchr(options, ','); ++ if (start && (!end || (start < end))) { ++ int len = end ? end-(start+1) : strlen(start+1); ++ char *text = g_malloc(len+1); ++ strncpy(text, start+1, len); ++ text[len] = '\0'; ++ VNC_DEBUG("Maximum number of disconnects: %s\n", text); ++ allowed_connections = atoi(text); ++ } } else if (strncmp(options, "reverse", 7) == 0) { reverse = 1; } else if (strncmp(options, "no-lock-key-sync", 16) == 0) { ++++++ seabios-Makefile-fix-iasl-option-detection.patch ++++++ Makefile: fix iasl option detection IASL option detection relied on iasl -h exit status which is not very robust: -h is not expected to be used from scripts. In particular combination of -h with any option seems to succeed with some old versions of iasl (e.g. version 20120123 as shipped with fc13). Instead, supply a dummy input file and run iasl on it to test option support. Signed-off-by: Michael S. Tsirkin <m...@redhat.com> --- --- a/roms/seabios/Makefile +++ b/roms/seabios/Makefile @@ -221,14 +221,17 @@ $(OUT)vgabios.bin: $(OUT)vgabios.bin.raw tools/buildrom.py ################ DSDT build rules -iasl-option=$(shell if "$(1)" "$(2)" -h > /dev/null 2>&1 \ - ; then echo "$(2)"; else echo "$(3)"; fi ;) +iasl-option=$(shell if "$(2)" "$(3)" "$(1)" > /dev/null 2>&1 \ + ; then echo "$(3)"; else echo "$(4)"; fi ;) + +$(OUT)/iasl-test.dsl: src/iasl-test.dsl + $(Q)cp -f $< $@ -$(OUT)%.hex: src/%.dsl ./tools/acpi_extract_preprocess.py ./tools/acpi_extract.py +$(OUT)%.hex: src/%.dsl ./tools/acpi_extract_preprocess.py ./tools/acpi_extract.py $(OUT)/iasl-test.dsl @echo " Compiling IASL $@" $(Q)cpp -P $< > $(OUT)$*.dsl.i.orig $(Q)$(PYTHON) ./tools/acpi_extract_preprocess.py $(OUT)$*.dsl.i.orig > $(OUT)$*.dsl.i - $(Q)$(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p $(OUT)$* $(OUT)$*.dsl.i + $(Q)$(IASL) $(call iasl-option,$(OUT)/iasl-test.dsl,$(IASL),-Pn,) -vs -l -tc -p $(OUT)$* $(OUT)$*.dsl.i $(Q)$(PYTHON) ./tools/acpi_extract.py $(OUT)$*.lst > $(OUT)$*.off $(Q)cat $(OUT)$*.off > $@ --- a/roms/seabios/src/iasl-test.dsl +++ b/roms/seabios/src/iasl-test.dsl @@ -0,0 +1,6 @@ +DefinitionBlock ("iasl-test.aml", "TEST", 0x01, "TSTC", "TESTIASLCMP", 0x1) +{ + + Device (TEST) { + } +} -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org