summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-08-04 08:18:12 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-10-03 06:43:58 +0000
commit9e73c36ef2cda70670dd06ad38322f4929080357 (patch)
tree32fbefb3b7149fd1bccc21b4cc8a7bffe3b5dff8
parent9cb167cd17104bb4b0bb6b7097ad9f924fa158f9 (diff)
downloadaports-9e73c36ef2cda70670dd06ad38322f4929080357.tar.bz2
aports-9e73c36ef2cda70670dd06ad38322f4929080357.tar.xz
main/qemu: security upgrade to 2.1.2 (CVE-2014-3615)
fixes #3382
-rw-r--r--main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch68
-rw-r--r--main/qemu/0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch42
-rw-r--r--main/qemu/0003-xen-replace-ffsl-with-ctzl.patch32
-rw-r--r--main/qemu/0004-vhost-replace-ffsl-with-ctzl.patch49
-rw-r--r--main/qemu/0005-exec-replace-ffsl-with-ctzl.patch32
-rw-r--r--main/qemu/APKBUILD30
6 files changed, 5 insertions, 248 deletions
diff --git a/main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch b/main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch
deleted file mode 100644
index 2ee0bbe7f..000000000
--- a/main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 73a0fc74069c5dd4c5895a406b9cc64358da90e6 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 23 Apr 2014 16:51:31 +0200
-Subject: [PATCH 1/6] linux-user: avoid using glibc internals in _syscall5 and
- in definition of target_sigevent struct
-
-Use the public sigset_t instead of the glibc specific internal
-__sigset_t in _syscall.
-
-Calculate the sigevent pad size is calculated in similar way as kernel
-does it instead of using glibc internal field _pad.
-
-This is needed for building with musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- linux-user/syscall.c | 2 +-
- linux-user/syscall_defs.h | 16 +++++++++++++++-
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 9864813..c8989b6 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -406,7 +406,7 @@ static int sys_inotify_init1(int flags)
- #endif
- #define __NR_sys_ppoll __NR_ppoll
- _syscall5(int, sys_ppoll, struct pollfd *, fds, nfds_t, nfds,
-- struct timespec *, timeout, const __sigset_t *, sigmask,
-+ struct timespec *, timeout, const sigset_t *, sigmask,
- size_t, sigsetsize)
- #endif
-
-diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index fdf9a47..69c3982 100644
---- a/linux-user/syscall_defs.h
-+++ b/linux-user/syscall_defs.h
-@@ -2552,12 +2552,26 @@ struct target_timer_t {
- abi_ulong ptr;
- };
-
-+#define TARGET_SIGEV_MAX_SIZE 64
-+
-+/* This is architecture-specific but most architectures use the default */
-+#ifdef TARGET_MIPS
-+#define TARGET_SIGEV_PREAMBLE_SIZE (sizeof(int32_t) * 2 + sizeof(abi_long))
-+#else
-+#define TARGET_SIGEV_PREAMBLE_SIZE (sizeof(int32_t) * 2 \
-+ + sizeof(target_sigval_t))
-+#endif
-+
-+#define TARGET_SIGEV_PAD_SIZE ((TARGET_SIGEV_MAX_SIZE \
-+ - TARGET_SIGEV_PREAMBLE_SIZE) \
-+ / sizeof(int32_t))
-+
- struct target_sigevent {
- target_sigval_t sigev_value;
- int32_t sigev_signo;
- int32_t sigev_notify;
- union {
-- int32_t _pad[ARRAY_SIZE(((struct sigevent *)0)->_sigev_un._pad)];
-+ int32_t _pad[TARGET_SIGEV_PAD_SIZE];
- int32_t _tid;
-
- struct {
---
-1.9.2
-
diff --git a/main/qemu/0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch b/main/qemu/0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch
deleted file mode 100644
index a11df7a83..000000000
--- a/main/qemu/0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 48fbea622a77f38a0fb33e862486d4c70eb8cf66 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 29 Apr 2014 10:14:57 +0200
-Subject: [PATCH 2/6] util/qemu-openpty: fix build with musl libc by include
- termios.h as fallback
-
-Include termios.h as POSIX fallback when not glibc, bsd or solaris.
-POSIX says that termios.h should define struct termios and TCAFLUSH.
-http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html
-
-This fixes the following compile errors with musl libc:
-
-util/qemu-openpty.c: In function 'qemu_openpty_raw':
-util/qemu-openpty.c:112:20: error: storage size of 'tty' isn't known
- struct termios tty;
- ^
-...
-util/qemu-openpty.c:128:24: error: 'TCSAFLUSH' undeclared (first use in this function)
- tcsetattr(*aslave, TCSAFLUSH, &tty);
- ^
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- util/qemu-openpty.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
-index 4febfe9..4c53211 100644
---- a/util/qemu-openpty.c
-+++ b/util/qemu-openpty.c
-@@ -47,6 +47,8 @@
- #elif defined CONFIG_SOLARIS
- # include <termios.h>
- # include <stropts.h>
-+#else
-+# include <termios.h>
- #endif
-
- #ifdef __sun__
---
-1.9.2
-
diff --git a/main/qemu/0003-xen-replace-ffsl-with-ctzl.patch b/main/qemu/0003-xen-replace-ffsl-with-ctzl.patch
deleted file mode 100644
index 63d7de95e..000000000
--- a/main/qemu/0003-xen-replace-ffsl-with-ctzl.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a8f26948d36c27243fd564e9af59ebf416838311 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 29 Apr 2014 14:28:52 +0200
-Subject: [PATCH 3/6] xen: replace ffsl with ctzl
-
-ffsl is a GNU extension and not available in musl libc.
-
-See also commit fbeadf50 (bitops: unify bitops_ffsl with the one in
-host-utils.h, call it bitops_ctzl) on why ctzl should be used instead
-of ffsl.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- xen-all.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xen-all.c b/xen-all.c
-index ba34739..3a0e9e5 100644
---- a/xen-all.c
-+++ b/xen-all.c
-@@ -511,7 +511,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
- for (i = 0; i < ARRAY_SIZE(bitmap); i++) {
- unsigned long map = bitmap[i];
- while (map != 0) {
-- j = ffsl(map) - 1;
-+ j = ctzl(map);
- map &= ~(1ul << j);
- memory_region_set_dirty(framebuffer,
- (i * width + j) * TARGET_PAGE_SIZE,
---
-1.9.2
-
diff --git a/main/qemu/0004-vhost-replace-ffsl-with-ctzl.patch b/main/qemu/0004-vhost-replace-ffsl-with-ctzl.patch
deleted file mode 100644
index 3853dd5a7..000000000
--- a/main/qemu/0004-vhost-replace-ffsl-with-ctzl.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f5fba0976a2841e2f4033a01076161ce2ede0477 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 29 Apr 2014 14:34:12 +0200
-Subject: [PATCH 4/6] vhost: replace ffsl with ctzl
-
-Avoid using the GNU extesion ffsl which is not implemented in musl libc.
-
-The atomic_xchg() means we know that vhost_log_chunk_t will never be
-larger than the 'long' type, so ctzl() is always sufficient.
-
-See also commit fbeadf50 (bitops: unify bitops_ffsl with the one in
-host-utils.h, call it bitops_ctzl) on why ctzl should be used instead
-of ffsl.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- hw/virtio/vhost.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
-index 9e336ad..f62cfaf 100644
---- a/hw/virtio/vhost.c
-+++ b/hw/virtio/vhost.c
-@@ -41,7 +41,6 @@ static void vhost_dev_sync_region(struct vhost_dev *dev,
-
- for (;from < to; ++from) {
- vhost_log_chunk_t log;
-- int bit;
- /* We first check with non-atomic: much cheaper,
- * and we expect non-dirty to be the common case. */
- if (!*from) {
-@@ -51,12 +50,11 @@ static void vhost_dev_sync_region(struct vhost_dev *dev,
- /* Data must be read atomically. We don't really need barrier semantics
- * but it's easier to use atomic_* than roll our own. */
- log = atomic_xchg(from, 0);
-- while ((bit = sizeof(log) > sizeof(int) ?
-- ffsll(log) : ffs(log))) {
-+ while (log) {
-+ int bit = ctzl(log);
- hwaddr page_addr;
- hwaddr section_offset;
- hwaddr mr_offset;
-- bit -= 1;
- page_addr = addr + bit * VHOST_LOG_PAGE;
- section_offset = page_addr - section->offset_within_address_space;
- mr_offset = section_offset + section->offset_within_region;
---
-1.9.2
-
diff --git a/main/qemu/0005-exec-replace-ffsl-with-ctzl.patch b/main/qemu/0005-exec-replace-ffsl-with-ctzl.patch
deleted file mode 100644
index d4781ab64..000000000
--- a/main/qemu/0005-exec-replace-ffsl-with-ctzl.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 235699fab03b8e60358863bae9e9c9aeea978189 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 29 Apr 2014 14:41:19 +0200
-Subject: [PATCH 5/6] exec: replace ffsl with ctzl
-
-See commit fbeadf50 (bitops: unify bitops_ffsl with the one in
-host-utils.h, call it bitops_ctzl) on why ctzl should be used instead
-of ffsl.
-
-This is also needed for musl libc which does not implement ffsl.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- include/exec/ram_addr.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
-index 2edfa96..b94de02 100644
---- a/include/exec/ram_addr.h
-+++ b/include/exec/ram_addr.h
-@@ -117,7 +117,7 @@ static inline void cpu_physical_memory_set_dirty_lebitmap(unsigned long *bitmap,
- if (bitmap[i] != 0) {
- c = leul_to_cpu(bitmap[i]);
- do {
-- j = ffsl(c) - 1;
-+ j = ctzl(c);
- c &= ~(1ul << j);
- page_number = (i * HOST_LONG_BITS + j) * hpratio;
- addr = page_number * TARGET_PAGE_SIZE;
---
-1.9.2
-
diff --git a/main/qemu/APKBUILD b/main/qemu/APKBUILD
index 81f688fd0..af708b2b5 100644
--- a/main/qemu/APKBUILD
+++ b/main/qemu/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=qemu
-pkgver=2.0.0
-pkgrel=1
+pkgver=2.1.2
+pkgrel=0
pkgdesc="QEMU is a generic machine emulator and virtualizer"
url="http://qemu.org/"
arch="all"
@@ -73,11 +73,6 @@ $pkgname-guest-agent:guest
"
source="http://wiki.qemu-project.org/download/qemu-$pkgver.tar.bz2
0001-elfload-load-PIE-executables-to-right-address.patch
- 0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch
- 0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch
- 0003-xen-replace-ffsl-with-ctzl.patch
- 0004-vhost-replace-ffsl-with-ctzl.patch
- 0005-exec-replace-ffsl-with-ctzl.patch
0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
musl-F_SHLCK-and-F_EXLCK.patch
@@ -237,37 +232,22 @@ guest() {
"$subpkgdir"/etc/conf.d/qemu-guest-agent || return 1
}
-md5sums="2790f44fd76da5de5024b4aafeb594c2 qemu-2.0.0.tar.bz2
+md5sums="0ff197c4ed4b695620bc4734e77c888f qemu-2.1.2.tar.bz2
672727bb1d8c8ab7b5def65dd1793c33 0001-elfload-load-PIE-executables-to-right-address.patch
-9e13b70bb154e4bba9b7bc55565bd671 0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch
-d5bee57e71a84b3b1d34a7a6877c710a 0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch
-a5b3f6d9f1b12d548fec1c0f26656d2a 0003-xen-replace-ffsl-with-ctzl.patch
-61de41ce733bc63c4ebb05b0475c9b3f 0004-vhost-replace-ffsl-with-ctzl.patch
-3d5271c1ead506b10dfd25a1ea08be39 0005-exec-replace-ffsl-with-ctzl.patch
d364208c4847ad2baeb237900befecd1 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
bc5f2e41ed3b6d6d30b672adab82e3e1 musl-F_SHLCK-and-F_EXLCK.patch
1663bc6977f6886a58394155b1bf3676 qemu-guest-agent.confd
2035cd781ea810e94bda250c609d8d90 qemu-guest-agent.initd
66660f143235201249dc0648b39b86ee 80-kvm.rules"
-sha256sums="60cc1aa0cad39cec891f970bed60ca8a484f071adad4943123599ac223543a3b qemu-2.0.0.tar.bz2
+sha256sums="fd10f5e45cf5a736fa5a3e1c279ae9821534e700beb7d1aab88a07648a394885 qemu-2.1.2.tar.bz2
af35304b165622a53f7557b59ffd8da5030f5fd444e669c862f9410131f3b987 0001-elfload-load-PIE-executables-to-right-address.patch
-710d2060e8faa3025f8bca608d7e28cbe498ef7ce3735bf005f763f3a97aa623 0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch
-797ccc6c7fcc01c66ce13c2f32f0fa0dd7ff4deb4e0b6518fda39fb0bb3a9a46 0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch
-58879543cdc595409f07e588faf05d8526b9d40d3fbc71f2633714f48bf544a9 0003-xen-replace-ffsl-with-ctzl.patch
-1347fd3aa48aa46a51cc01781cbfe0169fd198845304e80eb4a2285792a0f516 0004-vhost-replace-ffsl-with-ctzl.patch
-03fb8cd1b7576ccb9f606ec5a3fcd1c94a9e983ba342a18e648e4bf404e1d993 0005-exec-replace-ffsl-with-ctzl.patch
6af6cf9044997710a6d0fbdba30a35c8d775e30d30c032ec97db672f75ec88ac 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
eefd597197223899d3b12d8274af493153e270fd06ea8622e33d6eaeae063d40 musl-F_SHLCK-and-F_EXLCK.patch
d84e53a94584f37f3bd1b21f44077b5de0d07094c6729f26ae20ab1f7b9cc298 qemu-guest-agent.confd
982fa8ba67c728405305e4cf5a36a41a780b3d1f388ebd6377e7964c271a1c92 qemu-guest-agent.initd
37f666f1cdb7d8a62171de69b531681dcb0fba74236729dac8b6c019232eba84 80-kvm.rules"
-sha512sums="8fe2e8faa66251aaea7d6017ee71675d5b05f93f92be7e2ad3e1d02af185b3d6c4069bd83a13fb1e35a3e8947aff76f22446b395f97ac18b6f7a99744202e3fa qemu-2.0.0.tar.bz2
+sha512sums="73ef758c82b23eec649c807bee8937d7fbf267278f7777adbdb22b738672543b826d211a4b523f38cee3e2b01f05ccf40a75756fc19c911362988d8e86d5cd58 qemu-2.1.2.tar.bz2
405008589cad1c8b609eca004d520bf944366e8525f85a19fc6e283c95b84b6c2429822ba064675823ab69f1406a57377266a65021623d1cd581e7db000134fd 0001-elfload-load-PIE-executables-to-right-address.patch
-8c6a4b7aee138566d6a47df4a58f85a657099c7ec101fac825f81aa264e275bf2e00d264d55f0f91ff3be2da78e7e306aaa031a0997728381bafb6f4b79c674a 0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch
-c9c91116e30868180fab2780e947de72ab338ef5173b86457e6e0ffcc20eda30743867a2fcb7dae788aa36d3bdf5c4058d06332e3adc611ab30d1b5bc4dff081 0002-util-qemu-openpty-fix-build-with-musl-libc-by-includ.patch
-b9a4e0012f574491debb9c1428240402a223ff772ceff662826fbc821c9cbfe3db368b8a12b8742cfda98b536c6130e289f63cfcf8deff933e9b7bb3ad54ecdc 0003-xen-replace-ffsl-with-ctzl.patch
-49078967718b338adc1c445921012d5363af83fddee317a23b8c121a73b127ef7f8014cca1cfdc91c927ffa02f7091712753a19314c6ef28462b77f494025cb1 0004-vhost-replace-ffsl-with-ctzl.patch
-9504cc6afa84e5cc687baac2e7f1e4c2dbeee0f67dd8963686c89d0dc9e96eef0228a2390722b813f14dc359ab746227e8494192f5effbe9e8353c991dcbdcc3 0005-exec-replace-ffsl-with-ctzl.patch
ec84b27648c01c6e58781295dcd0c2ff8e5a635f9836ef50c1da5d0ed125db1afc4cb5b01cb97606d6dd8f417acba93e1560d9a32ca29161a4bb730b302440ea 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
5de10f7e8abae16d1d7521e5ca1bfb62a8f295b324bea84f122f882b7b9354c21e5a00b20a1c5484c1b737b937e53c4ca6979e55705522f0779a5669725369f5 musl-F_SHLCK-and-F_EXLCK.patch
d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd