diff --git a/0002-XXX-work-around-SA_RESTART-race-wit.patch b/0002-XXX-work-around-SA_RESTART-race-wit.patch deleted file mode 100644 index b1777394..00000000 --- a/0002-XXX-work-around-SA_RESTART-race-wit.patch +++ /dev/null @@ -1,242 +0,0 @@ -From 44e9a6c05ea73441354e54b0029cdf0e835ed735 Mon Sep 17 00:00:00 2001 -From: Alexander Graf -Date: Thu, 1 Dec 2011 19:00:01 +0100 -Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only) - -[AF: CPUState -> CPUArchState, adapt to reindentation] -[AF: CPUArchState::opaque -> CPUState::opaque] ---- - linux-user/main.c | 25 +++++++++------ - linux-user/qemu.h | 3 ++ - linux-user/signal.c | 22 +++++++++++++ - linux-user/syscall.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++- - 4 files changed, 130 insertions(+), 10 deletions(-) - -diff --git a/linux-user/main.c b/linux-user/main.c -index 5f3ec97..7b28d93 100644 ---- a/linux-user/main.c -+++ b/linux-user/main.c -@@ -853,15 +853,22 @@ void cpu_loop(CPUARMState *env) - break; - } - } else { -- env->regs[0] = do_syscall(env, -- n, -- env->regs[0], -- env->regs[1], -- env->regs[2], -- env->regs[3], -- env->regs[4], -- env->regs[5], -- 0, 0); -+ TaskState *ts = cs->opaque; -+ target_ulong r; -+ r = do_syscall(env, n, env->regs[0], env->regs[1], -+ env->regs[2], env->regs[3], env->regs[4], -+ env->regs[5], 0, 0); -+ if ((r == -EINTR) && ts->signal_restart && -+ syscall_restartable(n)) { -+ if (env->thumb) { -+ env->regs[15] -= 2; -+ } else { -+ env->regs[15] -= 4; -+ } -+ } else { -+ env->regs[0] = r; -+ } -+ ts->signal_restart = 0; - } - } else { - goto error; -diff --git a/linux-user/qemu.h b/linux-user/qemu.h -index 26b0ba2..b55a9d2 100644 ---- a/linux-user/qemu.h -+++ b/linux-user/qemu.h -@@ -130,6 +130,8 @@ typedef struct TaskState { - struct sigqueue sigqueue_table[MAX_SIGQUEUE_SIZE]; /* siginfo queue */ - struct sigqueue *first_free; /* first free siginfo queue entry */ - int signal_pending; /* non zero if a signal may be pending */ -+ int signal_in_syscall; /* non zero if we are in do_syscall() */ -+ int signal_restart; /* non zero if we need to restart a syscall */ - } __attribute__((aligned(16))) TaskState; - - extern char *exec_path; -@@ -188,6 +190,7 @@ int get_osversion(void); - void init_qemu_uname_release(void); - void fork_start(void); - void fork_end(int child); -+int syscall_restartable(int syscall_nr); - - /* Creates the initial guest address space in the host memory space using - * the given host start address hint and size. The guest_start parameter -diff --git a/linux-user/signal.c b/linux-user/signal.c -index d422aeb..eab88a9 100644 ---- a/linux-user/signal.c -+++ b/linux-user/signal.c -@@ -19,6 +19,7 @@ - #include "qemu/osdep.h" - #include - #include -+#include - - #include "qemu.h" - #include "qemu-common.h" -@@ -563,6 +564,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info) - k->pending = 1; - /* signal that a new signal is pending */ - ts->signal_pending = 1; -+ /* check if we have to restart the current syscall */ -+ if ((sigact_table[sig - 1].sa_flags & SA_RESTART) && -+ ts->signal_in_syscall) { -+ ts->signal_restart = 1; -+ } - return 1; /* indicates that the signal was queued */ - } - } -@@ -703,8 +709,24 @@ int do_sigaction(int sig, const struct target_sigaction *act, - if (host_sig != SIGSEGV && host_sig != SIGBUS) { - sigfillset(&act1.sa_mask); - act1.sa_flags = SA_SIGINFO; -+#ifdef TARGET_ARM -+ /* Breaks boehm-gc, we have to do this manually */ -+ /* -+ * Unfortunately our hacks only work as long as we don't do parallel -+ * signal delivery and futexes, so let's do a dirty hack here to -+ * pin our guest process to a single host CPU if we're using the -+ * boehm-gc. -+ */ -+ if ((k->sa_flags & TARGET_SA_RESTART) && host_sig == SIGPWR) { -+ cpu_set_t mask; -+ CPU_ZERO(&mask); -+ CPU_SET(0, &mask); -+ sched_setaffinity(0, sizeof(mask), &mask); -+ } -+#else - if (k->sa_flags & TARGET_SA_RESTART) - act1.sa_flags |= SA_RESTART; -+#endif - /* NOTE: it is important to update the host kernel signal - ignore state to avoid getting unexpected interrupted - syscalls */ -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 032d338..fe0dbd6 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -5847,6 +5847,87 @@ static target_timer_t get_timer_id(abi_long arg) - return timerid; - } - -+int syscall_restartable(int syscall_nr) -+{ -+ switch (syscall_nr) { -+#ifdef TARGET_NR_sigsuspend -+ case TARGET_NR_sigsuspend: -+#endif -+#ifdef TARGET_NR_pause -+ case TARGET_NR_pause: -+#endif -+#ifdef TARGET_NR_setsockopt -+ case TARGET_NR_setsockopt: -+#endif -+#ifdef TARGET_NR_accept -+ case TARGET_NR_accept: -+#endif -+#ifdef TARGET_NR_recv -+ case TARGET_NR_recv: -+#endif -+#ifdef TARGET_NR_recvfrom -+ case TARGET_NR_recvfrom: -+#endif -+#ifdef TARGET_NR_recvmsg -+ case TARGET_NR_recvmsg: -+#endif -+#ifdef TARGET_NR_socketcall -+ case TARGET_NR_socketcall: -+#endif -+#ifdef TARGET_NR_connect -+ case TARGET_NR_connect: -+#endif -+#ifdef TARGET_NR_send -+ case TARGET_NR_send: -+#endif -+#ifdef TARGET_NR_sendmsg -+ case TARGET_NR_sendmsg: -+#endif -+#ifdef TARGET_NR_sendto -+ case TARGET_NR_sendto: -+#endif -+#ifdef TARGET_NR_poll -+ case TARGET_NR_poll: -+#endif -+#ifdef TARGET_NR_ppoll -+ case TARGET_NR_ppoll: -+#endif -+#if defined(TARGET_NR_select) -+ case TARGET_NR_select: -+#endif -+#ifdef TARGET_NR_pselect6 -+ case TARGET_NR_pselect6: -+#endif -+#ifdef TARGET_NR__newselect -+ case TARGET_NR__newselect: -+#endif -+#ifdef TARGET_NR_msgrcv -+ case TARGET_NR_msgrcv: -+#endif -+#ifdef TARGET_NR_msgsnd -+ case TARGET_NR_msgsnd: -+#endif -+#ifdef TARGET_NR_semop -+ case TARGET_NR_semop: -+#endif -+#ifdef TARGET_NR_ipc -+ case TARGET_NR_ipc: -+#endif -+#ifdef TARGET_NR_clock_nanosleep -+ case TARGET_NR_clock_nanosleep: -+#endif -+ case TARGET_NR_rt_sigsuspend: -+ case TARGET_NR_rt_sigtimedwait: -+ case TARGET_NR_nanosleep: -+ case TARGET_NR_close: -+ /* can not be restarted */ -+ return 0; -+ } -+ -+ /* every other syscall can be restarted */ -+ return 1; -+} -+ - /* do_syscall() should always have a single exit point at the end so - that actions, such as logging of syscall results, can be performed. - All errnos that do_syscall() returns must be -TARGET_. */ -@@ -5860,6 +5941,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, - struct stat st; - struct statfs stfs; - void *p; -+ TaskState *ts = cpu->opaque; -+ -+ if (!ts->signal_restart) { -+ /* remember syscall info for restart */ -+ ts->signal_in_syscall = 1; -+ } - - #ifdef DEBUG - gemu_log("syscall %d", num); -@@ -9211,7 +9298,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, - cmd = target_to_host_fcntl_cmd(arg2); - if (cmd == -TARGET_EINVAL) { - ret = cmd; -- break; -+ goto fail; - } - - switch(arg2) { -@@ -10255,6 +10342,7 @@ fail: - #endif - if(do_strace) - print_syscall_ret(num, ret); -+ ts->signal_in_syscall = 0; - return ret; - efault: - ret = -TARGET_EFAULT; diff --git a/0003-qemu-0.9.0.cvs-binfmt.patch b/0002-qemu-0.9.0.cvs-binfmt.patch similarity index 99% rename from 0003-qemu-0.9.0.cvs-binfmt.patch rename to 0002-qemu-0.9.0.cvs-binfmt.patch index ccde2358..32eb10c9 100644 --- a/0003-qemu-0.9.0.cvs-binfmt.patch +++ b/0002-qemu-0.9.0.cvs-binfmt.patch @@ -1,4 +1,4 @@ -From 2d978c9adfe0bb7dadbb21e9f606f33b9f70bf1c Mon Sep 17 00:00:00 2001 +From 25da05b51950cf639c26ca5f1e47fcfdfb588ab2 Mon Sep 17 00:00:00 2001 From: Ulrich Hecht Date: Tue, 14 Apr 2009 16:18:44 +0200 Subject: [PATCH] qemu-0.9.0.cvs-binfmt diff --git a/0004-qemu-cvs-alsa_bitfield.patch b/0003-qemu-cvs-alsa_bitfield.patch similarity index 97% rename from 0004-qemu-cvs-alsa_bitfield.patch rename to 0003-qemu-cvs-alsa_bitfield.patch index 27b3dce6..abf54820 100644 --- a/0004-qemu-cvs-alsa_bitfield.patch +++ b/0003-qemu-cvs-alsa_bitfield.patch @@ -1,4 +1,4 @@ -From 68b848ab76ac2d150b4ed899d46dabac85b248a2 Mon Sep 17 00:00:00 2001 +From 307dc6c6bde4ec04b9efd6f27db0295e349bf573 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 14 Apr 2009 16:20:50 +0200 Subject: [PATCH] qemu-cvs-alsa_bitfield diff --git a/0005-qemu-cvs-alsa_ioctl.patch b/0004-qemu-cvs-alsa_ioctl.patch similarity index 99% rename from 0005-qemu-cvs-alsa_ioctl.patch rename to 0004-qemu-cvs-alsa_ioctl.patch index fb04e39c..2499486e 100644 --- a/0005-qemu-cvs-alsa_ioctl.patch +++ b/0004-qemu-cvs-alsa_ioctl.patch @@ -1,4 +1,4 @@ -From 12ea4c0a49f8fd0b3b594f80fa78bf943b7d3c20 Mon Sep 17 00:00:00 2001 +From 42ec5aa5b6abb395b894311702cec8c09ec44263 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 14 Apr 2009 16:23:27 +0200 Subject: [PATCH] qemu-cvs-alsa_ioctl diff --git a/0006-qemu-cvs-alsa_mmap.patch b/0005-qemu-cvs-alsa_mmap.patch similarity index 95% rename from 0006-qemu-cvs-alsa_mmap.patch rename to 0005-qemu-cvs-alsa_mmap.patch index 9b7fd090..200f349a 100644 --- a/0006-qemu-cvs-alsa_mmap.patch +++ b/0005-qemu-cvs-alsa_mmap.patch @@ -1,4 +1,4 @@ -From f66983c05b20792b6bf5690bc46a4a60618b0425 Mon Sep 17 00:00:00 2001 +From d899ab90ddfcf5c6efe45f9008cd2c498d368ac9 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 14 Apr 2009 16:24:15 +0200 Subject: [PATCH] qemu-cvs-alsa_mmap diff --git a/0007-qemu-cvs-gettimeofday.patch b/0006-qemu-cvs-gettimeofday.patch similarity index 79% rename from 0007-qemu-cvs-gettimeofday.patch rename to 0006-qemu-cvs-gettimeofday.patch index eebac451..0df63ebf 100644 --- a/0007-qemu-cvs-gettimeofday.patch +++ b/0006-qemu-cvs-gettimeofday.patch @@ -1,4 +1,4 @@ -From cda1328ad68fbb163f786e4ad5dd818c3a54bc4e Mon Sep 17 00:00:00 2001 +From eaa8f697ccd1320f9ce432588beef2d341bc5a18 Mon Sep 17 00:00:00 2001 From: Ulrich Hecht Date: Tue, 14 Apr 2009 16:25:41 +0200 Subject: [PATCH] qemu-cvs-gettimeofday @@ -9,10 +9,10 @@ No clue what this is for. 1 file changed, 2 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index fe0dbd6..b5e6598 100644 +index 032d338..d231758 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c -@@ -7072,6 +7072,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, +@@ -6985,6 +6985,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, case TARGET_NR_gettimeofday: { struct timeval tv; diff --git a/0008-qemu-cvs-ioctl_debug.patch b/0007-qemu-cvs-ioctl_debug.patch similarity index 93% rename from 0008-qemu-cvs-ioctl_debug.patch rename to 0007-qemu-cvs-ioctl_debug.patch index 7a5a7000..5126ebea 100644 --- a/0008-qemu-cvs-ioctl_debug.patch +++ b/0007-qemu-cvs-ioctl_debug.patch @@ -1,4 +1,4 @@ -From 02d53ba7f7e370b1b67f6adc9b5497b4a262503a Mon Sep 17 00:00:00 2001 +From 5fabc9a72b03eca20cda87e0bb35a92aaa3d4dbf Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 14 Apr 2009 16:26:33 +0200 Subject: [PATCH] qemu-cvs-ioctl_debug @@ -12,7 +12,7 @@ Signed-off-by: Ulrich Hecht 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index b5e6598..7a589cb 100644 +index d231758..d693f9d 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4022,7 +4022,12 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg) diff --git a/0009-qemu-cvs-ioctl_nodirection.patch b/0008-qemu-cvs-ioctl_nodirection.patch similarity index 94% rename from 0009-qemu-cvs-ioctl_nodirection.patch rename to 0008-qemu-cvs-ioctl_nodirection.patch index 6436c8f6..25e260db 100644 --- a/0009-qemu-cvs-ioctl_nodirection.patch +++ b/0008-qemu-cvs-ioctl_nodirection.patch @@ -1,4 +1,4 @@ -From 720dcded9e7c7ebce002e562644bf0b8896f5869 Mon Sep 17 00:00:00 2001 +From 31a5e0ab101e1549d534a63fb5e9e94007e812f8 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 14 Apr 2009 16:27:36 +0200 Subject: [PATCH] qemu-cvs-ioctl_nodirection @@ -15,7 +15,7 @@ Signed-off-by: Ulrich Hecht 1 file changed, 6 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 7a589cb..1afd3b9 100644 +index d693f9d..0858920 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4055,6 +4055,11 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg) diff --git a/0010-block-vmdk-Support-creation-of-SCSI.patch b/0009-block-vmdk-Support-creation-of-SCSI.patch similarity index 98% rename from 0010-block-vmdk-Support-creation-of-SCSI.patch rename to 0009-block-vmdk-Support-creation-of-SCSI.patch index fb9a73f9..e37e2180 100644 --- a/0010-block-vmdk-Support-creation-of-SCSI.patch +++ b/0009-block-vmdk-Support-creation-of-SCSI.patch @@ -1,4 +1,4 @@ -From 592fcd424bad943c37f895f98e873fff69763709 Mon Sep 17 00:00:00 2001 +From 7164cadf6a1f23d2b931f34c78d3707207306cfb Mon Sep 17 00:00:00 2001 From: Ulrich Hecht Date: Tue, 14 Apr 2009 16:37:42 +0200 Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img diff --git a/0011-linux-user-add-binfmt-wrapper-for-a.patch b/0010-linux-user-add-binfmt-wrapper-for-a.patch similarity index 99% rename from 0011-linux-user-add-binfmt-wrapper-for-a.patch rename to 0010-linux-user-add-binfmt-wrapper-for-a.patch index bc9c2925..97e22c95 100644 --- a/0011-linux-user-add-binfmt-wrapper-for-a.patch +++ b/0010-linux-user-add-binfmt-wrapper-for-a.patch @@ -1,4 +1,4 @@ -From d115d3eff851640ed1b6caf43836504fed2bc67f Mon Sep 17 00:00:00 2001 +From a7697f0442c3cb97a5ab4ee60ffe721de6dc791e Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Fri, 30 Sep 2011 19:40:36 +0200 Subject: [PATCH] linux-user: add binfmt wrapper for argv[0] handling diff --git a/0012-PPC-KVM-Disable-mmu-notifier-check.patch b/0011-PPC-KVM-Disable-mmu-notifier-check.patch similarity index 93% rename from 0012-PPC-KVM-Disable-mmu-notifier-check.patch rename to 0011-PPC-KVM-Disable-mmu-notifier-check.patch index decfe298..63e04fea 100644 --- a/0012-PPC-KVM-Disable-mmu-notifier-check.patch +++ b/0011-PPC-KVM-Disable-mmu-notifier-check.patch @@ -1,4 +1,4 @@ -From 2c7559dd752daedcfef00a88923a3df6a913dfd8 Mon Sep 17 00:00:00 2001 +From c1602f324287481df7aef85c417e143fa47bcea4 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Fri, 6 Jan 2012 01:05:55 +0100 Subject: [PATCH] PPC: KVM: Disable mmu notifier check diff --git a/0013-linux-user-fix-segfault-deadlock.patch b/0012-linux-user-fix-segfault-deadlock.patch similarity index 96% rename from 0013-linux-user-fix-segfault-deadlock.patch rename to 0012-linux-user-fix-segfault-deadlock.patch index d21a8d72..adf7e6ec 100644 --- a/0013-linux-user-fix-segfault-deadlock.patch +++ b/0012-linux-user-fix-segfault-deadlock.patch @@ -1,4 +1,4 @@ -From d308696040ad59d4418b398512bd6ca1a072a215 Mon Sep 17 00:00:00 2001 +From 6b4338150763e8241cec19846a48a132d60fe75f Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Fri, 13 Jan 2012 17:05:41 +0100 Subject: [PATCH] linux-user: fix segfault deadlock diff --git a/0014-linux-user-binfmt-support-host-bina.patch b/0013-linux-user-binfmt-support-host-bina.patch similarity index 96% rename from 0014-linux-user-binfmt-support-host-bina.patch rename to 0013-linux-user-binfmt-support-host-bina.patch index b22c57ec..116012b1 100644 --- a/0014-linux-user-binfmt-support-host-bina.patch +++ b/0013-linux-user-binfmt-support-host-bina.patch @@ -1,4 +1,4 @@ -From 88f40fc3cbb0608938135e66f84a054e4c71f3e4 Mon Sep 17 00:00:00 2001 +From 02e298aafcb7bb11036cabec82da958f7d860ac8 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 2 Feb 2012 18:02:33 +0100 Subject: [PATCH] linux-user: binfmt: support host binaries diff --git a/0015-linux-user-Ignore-broken-loop-ioctl.patch b/0014-linux-user-Ignore-broken-loop-ioctl.patch similarity index 96% rename from 0015-linux-user-Ignore-broken-loop-ioctl.patch rename to 0014-linux-user-Ignore-broken-loop-ioctl.patch index dd2399fd..137cfd4f 100644 --- a/0015-linux-user-Ignore-broken-loop-ioctl.patch +++ b/0014-linux-user-Ignore-broken-loop-ioctl.patch @@ -1,4 +1,4 @@ -From 338fec615a0deb8c3fced6a0f50fa8df40f136b3 Mon Sep 17 00:00:00 2001 +From 64acfd49e9721a17c610cc54a92efe8ec3170698 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 12 Jun 2012 04:41:10 +0200 Subject: [PATCH] linux-user: Ignore broken loop ioctl @@ -46,7 +46,7 @@ index 8974caa..810ae61 100644 #endif diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 1afd3b9..32f7290 100644 +index 0858920..758f747 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3999,6 +3999,13 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp, diff --git a/0016-linux-user-lock-tcg.patch b/0015-linux-user-lock-tcg.patch similarity index 98% rename from 0016-linux-user-lock-tcg.patch rename to 0015-linux-user-lock-tcg.patch index e13c28fe..209ef429 100644 --- a/0016-linux-user-lock-tcg.patch +++ b/0015-linux-user-lock-tcg.patch @@ -1,4 +1,4 @@ -From f70582028f2a2da536e05f059cb82a6dcdcce2cb Mon Sep 17 00:00:00 2001 +From f34632424427a2387a9275133c3cb4a8ad4f9d31 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 5 Jul 2012 17:31:39 +0200 Subject: [PATCH] linux-user: lock tcg diff --git a/0017-linux-user-Run-multi-threaded-code-.patch b/0016-linux-user-Run-multi-threaded-code-.patch similarity index 93% rename from 0017-linux-user-Run-multi-threaded-code-.patch rename to 0016-linux-user-Run-multi-threaded-code-.patch index f62629a0..b9dda41d 100644 --- a/0017-linux-user-Run-multi-threaded-code-.patch +++ b/0016-linux-user-Run-multi-threaded-code-.patch @@ -1,4 +1,4 @@ -From 63f9ad9031029a99e2207ce13af0c3888bdc3c77 Mon Sep 17 00:00:00 2001 +From a2f095e01371ff9d00524fb4c0e7d3bd941227da Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 10 Jul 2012 20:40:55 +0200 Subject: [PATCH] linux-user: Run multi-threaded code on a single core @@ -19,7 +19,7 @@ Signed-off-by: Alexander Graf 1 file changed, 9 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 32f7290..780f760 100644 +index 758f747..b36273d 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4704,6 +4704,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp, diff --git a/0018-linux-user-lock-tb-flushing-too.patch b/0017-linux-user-lock-tb-flushing-too.patch similarity index 98% rename from 0018-linux-user-lock-tb-flushing-too.patch rename to 0017-linux-user-lock-tb-flushing-too.patch index 46fb12a7..d5e40c14 100644 --- a/0018-linux-user-lock-tb-flushing-too.patch +++ b/0017-linux-user-lock-tb-flushing-too.patch @@ -1,4 +1,4 @@ -From 8de35823c9f03e06ce40870e6cd04ce1c0a44be2 Mon Sep 17 00:00:00 2001 +From 80465393b0e7a888125378567cc69a6cc190b8ff Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 11 Jul 2012 16:47:42 +0200 Subject: [PATCH] linux-user: lock tb flushing too diff --git a/0019-linux-user-Fake-proc-cpuinfo.patch b/0018-linux-user-Fake-proc-cpuinfo.patch similarity index 95% rename from 0019-linux-user-Fake-proc-cpuinfo.patch rename to 0018-linux-user-Fake-proc-cpuinfo.patch index bfd666b0..c80b483f 100644 --- a/0019-linux-user-Fake-proc-cpuinfo.patch +++ b/0018-linux-user-Fake-proc-cpuinfo.patch @@ -1,4 +1,4 @@ -From e5ecc65e4ae5d85fd0645eacfed60757cef04c1a Mon Sep 17 00:00:00 2001 +From cac0ebd114044343f3d0e6a1ae0b455949db0a5d Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Mon, 23 Jul 2012 10:24:14 +0200 Subject: [PATCH] linux-user: Fake /proc/cpuinfo @@ -22,7 +22,7 @@ Signed-off-by: Andreas Färber 1 file changed, 20 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 780f760..7350980 100644 +index b36273d..7476689 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -5697,6 +5697,25 @@ static int open_self_stat(void *cpu_env, int fd) diff --git a/0020-linux-user-implement-FS_IOC_GETFLAG.patch b/0019-linux-user-implement-FS_IOC_GETFLAG.patch similarity index 95% rename from 0020-linux-user-implement-FS_IOC_GETFLAG.patch rename to 0019-linux-user-implement-FS_IOC_GETFLAG.patch index edc97309..658871d8 100644 --- a/0020-linux-user-implement-FS_IOC_GETFLAG.patch +++ b/0019-linux-user-implement-FS_IOC_GETFLAG.patch @@ -1,4 +1,4 @@ -From f2bf40c52ebd8618da52c0ab89e38737170d34ec Mon Sep 17 00:00:00 2001 +From a61e366827ca2b159b515e760742bc6dee26169f Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Mon, 20 Aug 2012 00:02:52 +0200 Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl diff --git a/0021-linux-user-implement-FS_IOC_SETFLAG.patch b/0020-linux-user-implement-FS_IOC_SETFLAG.patch similarity index 95% rename from 0021-linux-user-implement-FS_IOC_SETFLAG.patch rename to 0020-linux-user-implement-FS_IOC_SETFLAG.patch index b5507c1b..0bcd6872 100644 --- a/0021-linux-user-implement-FS_IOC_SETFLAG.patch +++ b/0020-linux-user-implement-FS_IOC_SETFLAG.patch @@ -1,4 +1,4 @@ -From 7e407d22128dac3b6dae0393a2173e6ee4878abd Mon Sep 17 00:00:00 2001 +From 39e6dbd24f5a872c5c37b0c1ddd31fe00b74c3ca Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Mon, 20 Aug 2012 00:07:13 +0200 Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl diff --git a/0022-linux-user-XXX-disable-fiemap.patch b/0021-linux-user-XXX-disable-fiemap.patch similarity index 88% rename from 0022-linux-user-XXX-disable-fiemap.patch rename to 0021-linux-user-XXX-disable-fiemap.patch index 18c85886..900a1859 100644 --- a/0022-linux-user-XXX-disable-fiemap.patch +++ b/0021-linux-user-XXX-disable-fiemap.patch @@ -1,4 +1,4 @@ -From 416732418f358a876ee8406eb12925e198155e49 Mon Sep 17 00:00:00 2001 +From fb0a1cd7b3e0ab5908607da0b704f749a3f9cd36 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 21 Aug 2012 14:20:40 +0200 Subject: [PATCH] linux-user: XXX disable fiemap @@ -9,7 +9,7 @@ agraf: fiemap breaks in libarchive. Disable it for now. 1 file changed, 5 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 7350980..90b1698 100644 +index 7476689..7b72784 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3494,6 +3494,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp, diff --git a/0023-slirp-nooutgoing.patch b/0022-slirp-nooutgoing.patch similarity index 98% rename from 0023-slirp-nooutgoing.patch rename to 0022-slirp-nooutgoing.patch index ee5297d9..162b0ea9 100644 --- a/0023-slirp-nooutgoing.patch +++ b/0022-slirp-nooutgoing.patch @@ -1,4 +1,4 @@ -From 76603c63b15b71597d8d232d9c8f590598939cb2 Mon Sep 17 00:00:00 2001 +From d839baef69733ff67df56abd52bf01b13c2adc80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 29 Aug 2012 18:42:56 +0200 Subject: [PATCH] slirp: -nooutgoing diff --git a/0024-vnc-password-file-and-incoming-conn.patch b/0023-vnc-password-file-and-incoming-conn.patch similarity index 98% rename from 0024-vnc-password-file-and-incoming-conn.patch rename to 0023-vnc-password-file-and-incoming-conn.patch index cd76d558..96f95cd7 100644 --- a/0024-vnc-password-file-and-incoming-conn.patch +++ b/0023-vnc-password-file-and-incoming-conn.patch @@ -1,4 +1,4 @@ -From 1e6837a4cf1e2c757a9ee61f99ffd90dc97e3067 Mon Sep 17 00:00:00 2001 +From c15dcea01fb9d84e583abe7d558d7a31a937ddc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 29 Aug 2012 20:06:01 +0200 Subject: [PATCH] vnc: password-file= and incoming-connections= diff --git a/0025-linux-user-add-more-blk-ioctls.patch b/0024-linux-user-add-more-blk-ioctls.patch similarity index 97% rename from 0025-linux-user-add-more-blk-ioctls.patch rename to 0024-linux-user-add-more-blk-ioctls.patch index c104713d..0d31e848 100644 --- a/0025-linux-user-add-more-blk-ioctls.patch +++ b/0024-linux-user-add-more-blk-ioctls.patch @@ -1,4 +1,4 @@ -From 4910a63b38b4b6cd811d59ccf239423f8f6998fc Mon Sep 17 00:00:00 2001 +From 5ab7c0967d239f3cab043461952f9d0b9015a617 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 10 Oct 2012 10:21:20 +0200 Subject: [PATCH] linux-user: add more blk ioctls diff --git a/0026-linux-user-use-target_ulong.patch b/0025-linux-user-use-target_ulong.patch similarity index 89% rename from 0026-linux-user-use-target_ulong.patch rename to 0025-linux-user-use-target_ulong.patch index 9c04e0cd..85942377 100644 --- a/0026-linux-user-use-target_ulong.patch +++ b/0025-linux-user-use-target_ulong.patch @@ -1,4 +1,4 @@ -From 4a2a102bf012ec39a75498e79d18d7e1cb703bd3 Mon Sep 17 00:00:00 2001 +From 616807e473c21cdf231eed07b87ec287cfdfb528 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 9 Oct 2012 09:06:49 +0200 Subject: [PATCH] linux-user: use target_ulong @@ -17,10 +17,10 @@ Signed-off-by: Alexander Graf 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h -index b55a9d2..be9c21c 100644 +index 26b0ba2..b9a7123 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h -@@ -178,10 +178,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, +@@ -176,10 +176,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, void target_set_brk(abi_ulong new_brk); abi_long do_brk(abi_ulong new_brk); void syscall_init(void); @@ -36,10 +36,10 @@ index b55a9d2..be9c21c 100644 extern THREAD CPUState *thread_cpu; void cpu_loop(CPUArchState *env); diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 90b1698..2048082 100644 +index 7b72784..ebeab57 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c -@@ -5983,10 +5983,10 @@ int syscall_restartable(int syscall_nr) +@@ -5902,10 +5902,10 @@ static target_timer_t get_timer_id(abi_long arg) /* do_syscall() should always have a single exit point at the end so that actions, such as logging of syscall results, can be performed. All errnos that do_syscall() returns must be -TARGET_. */ diff --git a/0027-block-Add-support-for-DictZip-enabl.patch b/0026-block-Add-support-for-DictZip-enabl.patch similarity index 99% rename from 0027-block-Add-support-for-DictZip-enabl.patch rename to 0026-block-Add-support-for-DictZip-enabl.patch index a76ef195..9d9bb39c 100644 --- a/0027-block-Add-support-for-DictZip-enabl.patch +++ b/0026-block-Add-support-for-DictZip-enabl.patch @@ -1,4 +1,4 @@ -From e457395b8a52702b4866234bbe641d6044d725e6 Mon Sep 17 00:00:00 2001 +From 04eba9254338949db56a01bed42bc3ef187a1f04 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 5 Aug 2009 09:49:37 +0200 Subject: [PATCH] block: Add support for DictZip enabled gzip files diff --git a/0028-block-Add-tar-container-format.patch b/0027-block-Add-tar-container-format.patch similarity index 99% rename from 0028-block-Add-tar-container-format.patch rename to 0027-block-Add-tar-container-format.patch index 1af499b4..4757fb0e 100644 --- a/0028-block-Add-tar-container-format.patch +++ b/0027-block-Add-tar-container-format.patch @@ -1,4 +1,4 @@ -From 5e55ea4fdd7fcb2dad3ea1c59889390fe94e38bc Mon Sep 17 00:00:00 2001 +From 0c107d353084a3a15c1281c7e1385ee5ccd5da5f Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 5 Aug 2009 17:28:38 +0200 Subject: [PATCH] block: Add tar container format diff --git a/0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch b/0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch similarity index 96% rename from 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch rename to 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch index a182ea53..0437545e 100644 --- a/0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch +++ b/0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch @@ -1,4 +1,4 @@ -From e25606c433e170cb966f2ec6a0e88c9160684d54 Mon Sep 17 00:00:00 2001 +From 5c25d47e2378efdbd72c49827252741b46ebacff Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 12 Dec 2012 19:11:30 +0100 Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch diff --git a/0030-console-add-question-mark-escape-op.patch b/0029-console-add-question-mark-escape-op.patch similarity index 94% rename from 0030-console-add-question-mark-escape-op.patch rename to 0029-console-add-question-mark-escape-op.patch index 4b8efd9b..92ddbad0 100644 --- a/0030-console-add-question-mark-escape-op.patch +++ b/0029-console-add-question-mark-escape-op.patch @@ -1,4 +1,4 @@ -From 543e99f83c5c7aff0675f430f0b7ff6e9e43472d Mon Sep 17 00:00:00 2001 +From ea20aa50570a68fd2ccda17adfea0f32c71694dc Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Mon, 6 Jun 2011 06:53:52 +0200 Subject: [PATCH] console: add question-mark escape operator diff --git a/0031-Make-char-muxer-more-robust-wrt-sma.patch b/0030-Make-char-muxer-more-robust-wrt-sma.patch similarity index 97% rename from 0031-Make-char-muxer-more-robust-wrt-sma.patch rename to 0030-Make-char-muxer-more-robust-wrt-sma.patch index 6949e60f..50f7f153 100644 --- a/0031-Make-char-muxer-more-robust-wrt-sma.patch +++ b/0030-Make-char-muxer-more-robust-wrt-sma.patch @@ -1,4 +1,4 @@ -From 7cf495aa2aff024d97b20b87fa87fc17cbbbf5ff Mon Sep 17 00:00:00 2001 +From 5b001dfb49c85d9934f0ac09bd24a7aecac55956 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 1 Apr 2010 17:36:23 +0200 Subject: [PATCH] Make char muxer more robust wrt small FIFOs diff --git a/0032-linux-user-lseek-explicitly-cast-no.patch b/0031-linux-user-lseek-explicitly-cast-no.patch similarity index 88% rename from 0032-linux-user-lseek-explicitly-cast-no.patch rename to 0031-linux-user-lseek-explicitly-cast-no.patch index 46b4d8d0..6ceea2b3 100644 --- a/0032-linux-user-lseek-explicitly-cast-no.patch +++ b/0031-linux-user-lseek-explicitly-cast-no.patch @@ -1,4 +1,4 @@ -From 5ac9c6a5e5acfc0ce7b61783533ce3a866d85ec3 Mon Sep 17 00:00:00 2001 +From 1e5020a27bf52c24abb9272f9ba605959e8771e8 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 13 Dec 2012 14:29:22 +0100 Subject: [PATCH] linux-user: lseek: explicitly cast non-set offsets to signed @@ -16,10 +16,10 @@ Signed-off-by: Alexander Graf 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 2048082..00c075d 100644 +index ebeab57..c084f38 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c -@@ -6320,9 +6320,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1, +@@ -6233,9 +6233,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1, case TARGET_NR_oldstat: goto unimplemented; #endif diff --git a/0033-virtfs-proxy-helper-Provide-__u64-f.patch b/0032-virtfs-proxy-helper-Provide-__u64-f.patch similarity index 92% rename from 0033-virtfs-proxy-helper-Provide-__u64-f.patch rename to 0032-virtfs-proxy-helper-Provide-__u64-f.patch index 25b49fc5..c7254d05 100644 --- a/0033-virtfs-proxy-helper-Provide-__u64-f.patch +++ b/0032-virtfs-proxy-helper-Provide-__u64-f.patch @@ -1,4 +1,4 @@ -From 0ae16f3d2670b4bd86595f6b9f2b5bd7b6faa438 Mon Sep 17 00:00:00 2001 +From 01aa7df9b3b82e8d16b3dda2e092dff89c15fa82 Mon Sep 17 00:00:00 2001 From: Bruce Rogers Date: Thu, 16 May 2013 12:39:10 +0200 Subject: [PATCH] virtfs-proxy-helper: Provide __u64 for broken diff --git a/0034-configure-Enable-PIE-for-ppc-and-pp.patch b/0033-configure-Enable-PIE-for-ppc-and-pp.patch similarity index 92% rename from 0034-configure-Enable-PIE-for-ppc-and-pp.patch rename to 0033-configure-Enable-PIE-for-ppc-and-pp.patch index 352d3620..9034e416 100644 --- a/0034-configure-Enable-PIE-for-ppc-and-pp.patch +++ b/0033-configure-Enable-PIE-for-ppc-and-pp.patch @@ -1,4 +1,4 @@ -From 96642b20aa9624ffa934c24c22da03b184ee2c9f Mon Sep 17 00:00:00 2001 +From 71bb8109caee6f4192237b2fad7db748ac50760d Mon Sep 17 00:00:00 2001 From: Dinar Valeev Date: Wed, 2 Oct 2013 17:56:03 +0200 Subject: [PATCH] configure: Enable PIE for ppc and ppc64 hosts diff --git a/0035-qtest-Increase-socket-timeout.patch b/0034-qtest-Increase-socket-timeout.patch similarity index 91% rename from 0035-qtest-Increase-socket-timeout.patch rename to 0034-qtest-Increase-socket-timeout.patch index 1e09144c..871cc324 100644 --- a/0035-qtest-Increase-socket-timeout.patch +++ b/0034-qtest-Increase-socket-timeout.patch @@ -1,4 +1,4 @@ -From 9aff904100fd11df814e8498cf9dd3d8c7810562 Mon Sep 17 00:00:00 2001 +From 287306233f77a3774df2d5c9ed7f301ebc21f89c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Thu, 17 Apr 2014 18:39:10 +0200 Subject: [PATCH] qtest: Increase socket timeout diff --git a/0036-AIO-Reduce-number-of-threads-for-32.patch b/0035-AIO-Reduce-number-of-threads-for-32.patch similarity index 95% rename from 0036-AIO-Reduce-number-of-threads-for-32.patch rename to 0035-AIO-Reduce-number-of-threads-for-32.patch index 14c9fb7b..ba3245c9 100644 --- a/0036-AIO-Reduce-number-of-threads-for-32.patch +++ b/0035-AIO-Reduce-number-of-threads-for-32.patch @@ -1,4 +1,4 @@ -From b70818ca8b9ca9ea88460c97b59c8e73e0c96bc8 Mon Sep 17 00:00:00 2001 +From 7f1e160917ebff1a756d08c9b07b88452a68387f Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 14 Jan 2015 01:32:11 +0100 Subject: [PATCH] AIO: Reduce number of threads for 32bit hosts diff --git a/0037-configure-Enable-libseccomp-for-ppc.patch b/0036-configure-Enable-libseccomp-for-ppc.patch similarity index 92% rename from 0037-configure-Enable-libseccomp-for-ppc.patch rename to 0036-configure-Enable-libseccomp-for-ppc.patch index 0c04207c..c5748df4 100644 --- a/0037-configure-Enable-libseccomp-for-ppc.patch +++ b/0036-configure-Enable-libseccomp-for-ppc.patch @@ -1,4 +1,4 @@ -From b44837ddb7fe9d43d70dc4260e4e9561d68ebc04 Mon Sep 17 00:00:00 2001 +From 88508c66e9403bb708a1ef186e66f5d45801cdd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Tue, 14 Apr 2015 18:42:06 +0200 Subject: [PATCH] configure: Enable libseccomp for ppc diff --git a/0038-dictzip-Fix-on-big-endian-systems.patch b/0037-dictzip-Fix-on-big-endian-systems.patch similarity index 98% rename from 0038-dictzip-Fix-on-big-endian-systems.patch rename to 0037-dictzip-Fix-on-big-endian-systems.patch index 2409dd9a..a56e33ca 100644 --- a/0038-dictzip-Fix-on-big-endian-systems.patch +++ b/0037-dictzip-Fix-on-big-endian-systems.patch @@ -1,4 +1,4 @@ -From ab4667c328ab637aabd54364658e8d047297eb54 Mon Sep 17 00:00:00 2001 +From 3fafdf24acf45df69523e266a38f3c0ca220e9a9 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Mon, 15 Jun 2015 17:36:32 +0200 Subject: [PATCH] dictzip: Fix on big endian systems diff --git a/0039-block-split-large-discard-requests-.patch b/0038-block-split-large-discard-requests-.patch similarity index 96% rename from 0039-block-split-large-discard-requests-.patch rename to 0038-block-split-large-discard-requests-.patch index f83bc16c..86a24a58 100644 --- a/0039-block-split-large-discard-requests-.patch +++ b/0038-block-split-large-discard-requests-.patch @@ -1,4 +1,4 @@ -From 33fcb26d3770b6ff5019d796595675a3275bfe46 Mon Sep 17 00:00:00 2001 +From adc543748b20def826281f9e6fda52f026dc099d Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Thu, 24 Mar 2016 14:32:39 +0100 Subject: [PATCH] block: split large discard requests from block frontend diff --git a/0040-xen_disk-Add-suse-specific-flush-di.patch b/0039-xen_disk-Add-suse-specific-flush-di.patch similarity index 96% rename from 0040-xen_disk-Add-suse-specific-flush-di.patch rename to 0039-xen_disk-Add-suse-specific-flush-di.patch index 91b58ceb..0dca2bd7 100644 --- a/0040-xen_disk-Add-suse-specific-flush-di.patch +++ b/0039-xen_disk-Add-suse-specific-flush-di.patch @@ -1,4 +1,4 @@ -From 529b4b3328e96f55ae0a44d1293616f426077a0b Mon Sep 17 00:00:00 2001 +From 43fdf04d426f4738aec0d349662a780906268590 Mon Sep 17 00:00:00 2001 From: Bruce Rogers Date: Wed, 9 Mar 2016 15:18:11 -0700 Subject: [PATCH] xen_disk: Add suse specific flush disable handling and map to diff --git a/0041-build-link-with-libatomic-on-powerp.patch b/0040-build-link-with-libatomic-on-powerp.patch similarity index 95% rename from 0041-build-link-with-libatomic-on-powerp.patch rename to 0040-build-link-with-libatomic-on-powerp.patch index 5eecf7a5..6546c715 100644 --- a/0041-build-link-with-libatomic-on-powerp.patch +++ b/0040-build-link-with-libatomic-on-powerp.patch @@ -1,4 +1,4 @@ -From 260d6920548a51e773c2bdca0a2770a3083404a2 Mon Sep 17 00:00:00 2001 +From 936efd7b1f317b574dbedf08e69e4206f16ac39f Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Fri, 1 Apr 2016 12:27:16 +0200 Subject: [PATCH] build: link with libatomic on powerpc-linux diff --git a/0042-net-mipsnet-check-packet-length-aga.patch b/0041-net-mipsnet-check-packet-length-aga.patch similarity index 94% rename from 0042-net-mipsnet-check-packet-length-aga.patch rename to 0041-net-mipsnet-check-packet-length-aga.patch index f025b7f6..b9a5ec53 100644 --- a/0042-net-mipsnet-check-packet-length-aga.patch +++ b/0041-net-mipsnet-check-packet-length-aga.patch @@ -1,4 +1,4 @@ -From 53260b0f3e1426185786f5fe45f99ca1ded84062 Mon Sep 17 00:00:00 2001 +From a4cae4158cc271ed4d55bc2e237030022f8edc16 Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Thu, 7 Apr 2016 04:27:00 -0600 Subject: [PATCH] net: mipsnet: check packet length against buffer diff --git a/0043-i386-kvmvapic-initialise-imm32-vari.patch b/0042-i386-kvmvapic-initialise-imm32-vari.patch similarity index 95% rename from 0043-i386-kvmvapic-initialise-imm32-vari.patch rename to 0042-i386-kvmvapic-initialise-imm32-vari.patch index 9b0b4659..4de7f342 100644 --- a/0043-i386-kvmvapic-initialise-imm32-vari.patch +++ b/0042-i386-kvmvapic-initialise-imm32-vari.patch @@ -1,4 +1,4 @@ -From 4c2fce28b205a0912f1224bdb8dbba2a0d7bf593 Mon Sep 17 00:00:00 2001 +From 481b43bcc3e920bbe48801a7ad2489260747e8b9 Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Thu, 7 Apr 2016 12:50:08 +0530 Subject: [PATCH] i386: kvmvapic: initialise imm32 variable diff --git a/0044-esp-check-command-buffer-length-bef.patch b/0043-esp-check-command-buffer-length-bef.patch similarity index 96% rename from 0044-esp-check-command-buffer-length-bef.patch rename to 0043-esp-check-command-buffer-length-bef.patch index 25673b3d..5c1c0299 100644 --- a/0044-esp-check-command-buffer-length-bef.patch +++ b/0043-esp-check-command-buffer-length-bef.patch @@ -1,4 +1,4 @@ -From 4a36592c8982234afc9591adb50684c2daed0fbd Mon Sep 17 00:00:00 2001 +From 26e782bead654b0415a46c9a019c54b56488519b Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Thu, 19 May 2016 16:09:30 +0530 Subject: [PATCH] esp: check command buffer length before write(CVE-2016-4439) diff --git a/0045-esp-check-dma-length-before-reading.patch b/0044-esp-check-dma-length-before-reading.patch similarity index 97% rename from 0045-esp-check-dma-length-before-reading.patch rename to 0044-esp-check-dma-length-before-reading.patch index a9c2282a..21342792 100644 --- a/0045-esp-check-dma-length-before-reading.patch +++ b/0044-esp-check-dma-length-before-reading.patch @@ -1,4 +1,4 @@ -From 648083b0e53202c883906a5d57d420a9c6411c89 Mon Sep 17 00:00:00 2001 +From ff65fa87b6d7d4e7dbda895181c9afc80b07c5e3 Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Thu, 19 May 2016 16:09:31 +0530 Subject: [PATCH] esp: check dma length before reading scsi diff --git a/0046-scsi-pvscsi-check-command-descripto.patch b/0045-scsi-pvscsi-check-command-descripto.patch similarity index 97% rename from 0046-scsi-pvscsi-check-command-descripto.patch rename to 0045-scsi-pvscsi-check-command-descripto.patch index 78720f9e..3f389818 100644 --- a/0046-scsi-pvscsi-check-command-descripto.patch +++ b/0045-scsi-pvscsi-check-command-descripto.patch @@ -1,4 +1,4 @@ -From 2f492d1dceb93302ae10a97ea799e344e52e1a89 Mon Sep 17 00:00:00 2001 +From 8c2fc88049f351c67bd82c6f61c54111eb088e69 Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Mon, 23 May 2016 04:49:00 -0600 Subject: [PATCH] scsi: pvscsi: check command descriptor ring buffer size diff --git a/0047-scsi-mptsas-infinite-loop-while-fet.patch b/0046-scsi-mptsas-infinite-loop-while-fet.patch similarity index 95% rename from 0047-scsi-mptsas-infinite-loop-while-fet.patch rename to 0046-scsi-mptsas-infinite-loop-while-fet.patch index ee94cbab..1da58cec 100644 --- a/0047-scsi-mptsas-infinite-loop-while-fet.patch +++ b/0046-scsi-mptsas-infinite-loop-while-fet.patch @@ -1,4 +1,4 @@ -From 62f461d944c764953299772d72892daca092fe3f Mon Sep 17 00:00:00 2001 +From 9e91782f3582e12f5c41e64f70e5c53f0e7b9f2a Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Tue, 24 May 2016 02:10:00 -0600 Subject: [PATCH] scsi: mptsas: infinite loop while fetching requests diff --git a/0048-vga-add-sr_vbe-register-set.patch b/0047-vga-add-sr_vbe-register-set.patch similarity index 99% rename from 0048-vga-add-sr_vbe-register-set.patch rename to 0047-vga-add-sr_vbe-register-set.patch index 5b123f7c..eced4614 100644 --- a/0048-vga-add-sr_vbe-register-set.patch +++ b/0047-vga-add-sr_vbe-register-set.patch @@ -1,4 +1,4 @@ -From b360e87d80afa47ab5e1aaa2d58aac0a83047277 Mon Sep 17 00:00:00 2001 +From d8d0d22b88ceaf7f9ce8e01eb2842b8daf2aa34e Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 17 May 2016 10:54:54 +0200 Subject: [PATCH] vga: add sr_vbe register set diff --git a/0049-scsi-megasas-use-appropriate-proper.patch b/0048-scsi-megasas-use-appropriate-proper.patch similarity index 95% rename from 0049-scsi-megasas-use-appropriate-proper.patch rename to 0048-scsi-megasas-use-appropriate-proper.patch index bd8d974c..0b6041d7 100644 --- a/0049-scsi-megasas-use-appropriate-proper.patch +++ b/0048-scsi-megasas-use-appropriate-proper.patch @@ -1,4 +1,4 @@ -From d884938c3eab2ca005180941c1dacf6e95f630cc Mon Sep 17 00:00:00 2001 +From f7901e3ec072d45629284c91300bf5ad21b36908 Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Wed, 25 May 2016 16:01:29 +0530 Subject: [PATCH] scsi: megasas: use appropriate property buffer size diff --git a/0050-scsi-megasas-check-read_queue_head-.patch b/0049-scsi-megasas-check-read_queue_head-.patch similarity index 96% rename from 0050-scsi-megasas-check-read_queue_head-.patch rename to 0049-scsi-megasas-check-read_queue_head-.patch index c3e815d4..6671ed9a 100644 --- a/0050-scsi-megasas-check-read_queue_head-.patch +++ b/0049-scsi-megasas-check-read_queue_head-.patch @@ -1,4 +1,4 @@ -From 09b7b3b4bf5463c411a0e4f442db3cf09ec33cbe Mon Sep 17 00:00:00 2001 +From e9910b20f94d3683d4d8895136583529cf7c313f Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Wed, 25 May 2016 17:55:10 +0530 Subject: [PATCH] scsi: megasas: check 'read_queue_head' index value diff --git a/0051-scsi-megasas-null-terminate-bios-ve.patch b/0050-scsi-megasas-null-terminate-bios-ve.patch similarity index 95% rename from 0051-scsi-megasas-null-terminate-bios-ve.patch rename to 0050-scsi-megasas-null-terminate-bios-ve.patch index c2d35556..6d8b9ff6 100644 --- a/0051-scsi-megasas-null-terminate-bios-ve.patch +++ b/0050-scsi-megasas-null-terminate-bios-ve.patch @@ -1,4 +1,4 @@ -From 81ed91f0c8e7ba89afd4718129065c920b3923f0 Mon Sep 17 00:00:00 2001 +From e7b653272e0242843f39b9b8d65694c29028fdf5 Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Tue, 7 Jun 2016 16:44:03 +0530 Subject: [PATCH] scsi: megasas: null terminate bios version buffer diff --git a/0052-vmsvga-move-fifo-sanity-checks-to-v.patch b/0051-vmsvga-move-fifo-sanity-checks-to-v.patch similarity index 97% rename from 0052-vmsvga-move-fifo-sanity-checks-to-v.patch rename to 0051-vmsvga-move-fifo-sanity-checks-to-v.patch index fbdb2a52..d503a38f 100644 --- a/0052-vmsvga-move-fifo-sanity-checks-to-v.patch +++ b/0051-vmsvga-move-fifo-sanity-checks-to-v.patch @@ -1,4 +1,4 @@ -From 5f76584dd7ee7b300a52f57e5a66b667cd3d5faa Mon Sep 17 00:00:00 2001 +From 74a7469799521413262d7571b7092f859ed32121 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 30 May 2016 09:09:18 +0200 Subject: [PATCH] vmsvga: move fifo sanity checks to vmsvga_fifo_length diff --git a/0053-vmsvga-don-t-process-more-than-1024.patch b/0052-vmsvga-don-t-process-more-than-1024.patch similarity index 96% rename from 0053-vmsvga-don-t-process-more-than-1024.patch rename to 0052-vmsvga-don-t-process-more-than-1024.patch index 767555d9..e0a2a115 100644 --- a/0053-vmsvga-don-t-process-more-than-1024.patch +++ b/0052-vmsvga-don-t-process-more-than-1024.patch @@ -1,4 +1,4 @@ -From 29983512d22362d394c01377fd9b0974865da1b4 Mon Sep 17 00:00:00 2001 +From 51a212ea5bb9d958e0fd59d9e975685a8b9e62d0 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 30 May 2016 09:09:21 +0200 Subject: [PATCH] vmsvga: don't process more than 1024 fifo commands at once diff --git a/0054-block-iscsi-avoid-potential-overflo.patch b/0053-block-iscsi-avoid-potential-overflo.patch similarity index 95% rename from 0054-block-iscsi-avoid-potential-overflo.patch rename to 0053-block-iscsi-avoid-potential-overflo.patch index 75406855..fc380aa1 100644 --- a/0054-block-iscsi-avoid-potential-overflo.patch +++ b/0053-block-iscsi-avoid-potential-overflo.patch @@ -1,4 +1,4 @@ -From 30f011dc5ea3328e6bef4923f60e03a5664425f9 Mon Sep 17 00:00:00 2001 +From 75e2bbd9eb1645c7acb1929ca700913a6e2f54d6 Mon Sep 17 00:00:00 2001 From: Peter Lieven Date: Tue, 24 May 2016 10:59:28 +0200 Subject: [PATCH] block/iscsi: avoid potential overflow of acb->task->cdb diff --git a/0055-scsi-esp-check-TI-buffer-index-befo.patch b/0054-scsi-esp-check-TI-buffer-index-befo.patch similarity index 97% rename from 0055-scsi-esp-check-TI-buffer-index-befo.patch rename to 0054-scsi-esp-check-TI-buffer-index-befo.patch index eb747886..17c69541 100644 --- a/0055-scsi-esp-check-TI-buffer-index-befo.patch +++ b/0054-scsi-esp-check-TI-buffer-index-befo.patch @@ -1,4 +1,4 @@ -From e53e6fe07906e619b25fc1eb120b7a07b541bcb8 Mon Sep 17 00:00:00 2001 +From 40b9ce117b5a3aced6e1b88ea0e2619170b202f6 Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Mon, 6 Jun 2016 22:04:43 +0530 Subject: [PATCH] scsi: esp: check TI buffer index before read/write diff --git a/0056-xen-introduce-dummy-system-device.patch b/0055-xen-introduce-dummy-system-device.patch similarity index 98% rename from 0056-xen-introduce-dummy-system-device.patch rename to 0055-xen-introduce-dummy-system-device.patch index c848af37..31b5498c 100644 --- a/0056-xen-introduce-dummy-system-device.patch +++ b/0055-xen-introduce-dummy-system-device.patch @@ -1,4 +1,4 @@ -From 6eaa3deb4b8e3f101f9b4487b786c34394486d72 Mon Sep 17 00:00:00 2001 +From d7476f32d84a256e683d20db0cdd0d3676fa2a62 Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Thu, 12 May 2016 16:13:39 +0200 Subject: [PATCH] xen: introduce dummy system device diff --git a/0057-xen-write-information-about-support.patch b/0056-xen-write-information-about-support.patch similarity index 99% rename from 0057-xen-write-information-about-support.patch rename to 0056-xen-write-information-about-support.patch index c72441ca..85b01a31 100644 --- a/0057-xen-write-information-about-support.patch +++ b/0056-xen-write-information-about-support.patch @@ -1,4 +1,4 @@ -From 40f5afa5ebaf4b6fba5a4d002a013d4e5aae7156 Mon Sep 17 00:00:00 2001 +From 7647bc34d77f7e67a88e88a7f09c314a3a5c7da8 Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Thu, 12 May 2016 16:13:40 +0200 Subject: [PATCH] xen: write information about supported backends diff --git a/0058-xen-add-pvUSB-backend.patch b/0057-xen-add-pvUSB-backend.patch similarity index 99% rename from 0058-xen-add-pvUSB-backend.patch rename to 0057-xen-add-pvUSB-backend.patch index 64e07155..81bca7e8 100644 --- a/0058-xen-add-pvUSB-backend.patch +++ b/0057-xen-add-pvUSB-backend.patch @@ -1,4 +1,4 @@ -From 12492549d007b13f9b23b16a5bb7a156918cf299 Mon Sep 17 00:00:00 2001 +From 9c573c905a6cc3b4dbf931c64e554a20683807b9 Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Thu, 12 May 2016 16:13:41 +0200 Subject: [PATCH] xen: add pvUSB backend diff --git a/0058-xen-move-xen_sysdev-to-xen_backend..patch b/0058-xen-move-xen_sysdev-to-xen_backend..patch new file mode 100644 index 00000000..0afe8241 --- /dev/null +++ b/0058-xen-move-xen_sysdev-to-xen_backend..patch @@ -0,0 +1,161 @@ +From ee2225e5f531d965aed352bf99ba339969216144 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Mon, 13 Jun 2016 11:12:21 +0200 +Subject: [PATCH] xen: move xen_sysdev to xen_backend.c + +Commit 9432e53a5bc88681b2d3aec4dac9db07c5476d1b added xen_sysdev as a +system device to serve as an anchor for removable virtual buses. This +introduced a build failure for non-x86 builds with CONFIG_XEN_BACKEND +set, as xen_sysdev was defined in a x86 specific file while being +consumed in an architecture independent source. + +Move the xen_sysdev definition and initialization to xen_backend.c to +avoid the build failure. + +Signed-off-by: Juergen Gross +Reviewed-by: Anthony PERARD +Acked-by: Stefano Stabellini +Signed-off-by: Stefano Stabellini +--- + hw/xen/xen_backend.c | 41 +++++++++++++++++++++++++++++++++++++++++ + hw/xenpv/xen_machine_pv.c | 40 ---------------------------------------- + 2 files changed, 41 insertions(+), 40 deletions(-) + +diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c +index c63f9df..6e52474 100644 +--- a/hw/xen/xen_backend.c ++++ b/hw/xen/xen_backend.c +@@ -27,12 +27,17 @@ + #include + + #include "hw/hw.h" ++#include "hw/sysbus.h" + #include "sysemu/char.h" + #include "qemu/log.h" + #include "hw/xen/xen_backend.h" + + #include + ++#define TYPE_XENSYSDEV "xensysdev" ++ ++DeviceState *xen_sysdev; ++ + /* ------------------------------------------------------------- */ + + /* public */ +@@ -763,6 +768,10 @@ int xen_be_init(void) + /* Check if xen_init() have been called */ + goto err; + } ++ ++ xen_sysdev = qdev_create(NULL, TYPE_XENSYSDEV); ++ qdev_init_nofail(xen_sysdev); ++ + return 0; + + err: +@@ -863,3 +872,35 @@ void xen_be_printf(struct XenDevice *xendev, int msg_level, const char *fmt, ... + } + qemu_log_flush(); + } ++ ++static int xen_sysdev_init(SysBusDevice *dev) ++{ ++ return 0; ++} ++ ++static Property xen_sysdev_properties[] = { ++ {/* end of property list */}, ++}; ++ ++static void xen_sysdev_class_init(ObjectClass *klass, void *data) ++{ ++ DeviceClass *dc = DEVICE_CLASS(klass); ++ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); ++ ++ k->init = xen_sysdev_init; ++ dc->props = xen_sysdev_properties; ++} ++ ++static const TypeInfo xensysdev_info = { ++ .name = TYPE_XENSYSDEV, ++ .parent = TYPE_SYS_BUS_DEVICE, ++ .instance_size = sizeof(SysBusDevice), ++ .class_init = xen_sysdev_class_init, ++}; ++ ++static void xenbe_register_types(void) ++{ ++ type_register_static(&xensysdev_info); ++} ++ ++type_init(xenbe_register_types); +diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c +index f68cf48..48f725c 100644 +--- a/hw/xenpv/xen_machine_pv.c ++++ b/hw/xenpv/xen_machine_pv.c +@@ -25,15 +25,10 @@ + #include "qemu/osdep.h" + #include "hw/hw.h" + #include "hw/boards.h" +-#include "hw/sysbus.h" + #include "hw/xen/xen_backend.h" + #include "xen_domainbuild.h" + #include "sysemu/block-backend.h" + +-#define TYPE_XENSYSDEV "xensysdev" +- +-DeviceState *xen_sysdev; +- + static void xen_init_pv(MachineState *machine) + { + DriveInfo *dinfo; +@@ -72,9 +67,6 @@ static void xen_init_pv(MachineState *machine) + break; + } + +- xen_sysdev = qdev_create(NULL, TYPE_XENSYSDEV); +- qdev_init_nofail(xen_sysdev); +- + xen_be_register("console", &xen_console_ops); + xen_be_register("vkbd", &xen_kbdmouse_ops); + xen_be_register("vfb", &xen_framebuffer_ops); +@@ -112,38 +104,6 @@ static void xen_init_pv(MachineState *machine) + xen_init_display(xen_domid); + } + +-static int xen_sysdev_init(SysBusDevice *dev) +-{ +- return 0; +-} +- +-static Property xen_sysdev_properties[] = { +- {/* end of property list */}, +-}; +- +-static void xen_sysdev_class_init(ObjectClass *klass, void *data) +-{ +- DeviceClass *dc = DEVICE_CLASS(klass); +- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); +- +- k->init = xen_sysdev_init; +- dc->props = xen_sysdev_properties; +-} +- +-static const TypeInfo xensysdev_info = { +- .name = TYPE_XENSYSDEV, +- .parent = TYPE_SYS_BUS_DEVICE, +- .instance_size = sizeof(SysBusDevice), +- .class_init = xen_sysdev_class_init, +-}; +- +-static void xenpv_register_types(void) +-{ +- type_register_static(&xensysdev_info); +-} +- +-type_init(xenpv_register_types); +- + static void xenpv_machine_init(MachineClass *mc) + { + mc->desc = "Xen Para-virtualized PC"; diff --git a/0059-usb-Fix-conditions-that-xen-usb.c-i.patch b/0059-usb-Fix-conditions-that-xen-usb.c-i.patch deleted file mode 100644 index 14fc7855..00000000 --- a/0059-usb-Fix-conditions-that-xen-usb.c-i.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9ddd9862dbc30107d2315f0b858e32cd0c90db8a Mon Sep 17 00:00:00 2001 -From: Bruce Rogers -Date: Fri, 10 Jun 2016 07:12:15 -0600 -Subject: [PATCH] usb: Fix conditions that xen-usb.c is used - -When non-x86 arch targets are built on x86 we have a mismatched -between what is built in support of xen. xen-usb.c is conditioned -upon CONFIG_USB_LIBUSB and CONFIG_XEN_BACKEND, but it relies on -an external reference that is instead controlled by CONFIG_XEN. -Add a dependency on CONFIG_XEN as well. -[BR: FATE#316612] -Signed-off-by: Bruce Rogers ---- - hw/usb/Makefile.objs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs -index 98b5c9d..2db2fa1 100644 ---- a/hw/usb/Makefile.objs -+++ b/hw/usb/Makefile.objs -@@ -39,6 +39,6 @@ common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o - # usb pass-through - common-obj-y += $(patsubst %,host-%.o,$(HOST_USB)) - --ifeq ($(CONFIG_USB_LIBUSB),y) -+ifeq ($(CONFIG_XEN)$(CONFIG_USB_LIBUSB),yy) - common-obj-$(CONFIG_XEN_BACKEND) += xen-usb.o - endif diff --git a/0060-vnc-add-configurable-keyboard-delay.patch b/0059-vnc-add-configurable-keyboard-delay.patch similarity index 98% rename from 0060-vnc-add-configurable-keyboard-delay.patch rename to 0059-vnc-add-configurable-keyboard-delay.patch index 4b6f0642..b236839d 100644 --- a/0060-vnc-add-configurable-keyboard-delay.patch +++ b/0059-vnc-add-configurable-keyboard-delay.patch @@ -1,4 +1,4 @@ -From 464539abcc33f2d8465dead1555de169b87239b9 Mon Sep 17 00:00:00 2001 +From 6a788961dd16f558d78ab7313f0b297409f37af7 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 1 Jun 2016 08:22:30 +0200 Subject: [PATCH] vnc: add configurable keyboard delay diff --git a/0061-scsi-megasas-initialise-local-confi.patch b/0060-scsi-megasas-initialise-local-confi.patch similarity index 95% rename from 0061-scsi-megasas-initialise-local-confi.patch rename to 0060-scsi-megasas-initialise-local-confi.patch index c8d1e2c3..33436c70 100644 --- a/0061-scsi-megasas-initialise-local-confi.patch +++ b/0060-scsi-megasas-initialise-local-confi.patch @@ -1,4 +1,4 @@ -From 9770400f8184e43d9370ec97e15c6fcaccc381d1 Mon Sep 17 00:00:00 2001 +From 702d446c9378b6d8415599780cf9f8bfb4c7cb9a Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Wed, 25 May 2016 17:41:44 +0530 Subject: [PATCH] scsi: megasas: initialise local configuration data buffer diff --git a/0061-configure-add-echo_version-helper.patch b/0061-configure-add-echo_version-helper.patch new file mode 100644 index 00000000..5e8f634a --- /dev/null +++ b/0061-configure-add-echo_version-helper.patch @@ -0,0 +1,61 @@ +From 83775fe297c7cc8dae0d46c22accc2d7eb78c4a0 Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Fri, 6 May 2016 14:03:09 -0400 +Subject: [PATCH] configure: add echo_version helper + +Simplifies printing library versions, dependent on if the library +was even found + +Signed-off-by: Cole Robinson +Message-id: 3c9ab16123e06bb4109771ef6ee8acd82d449ba0.1462557436.git.crobinso@redhat.com +Signed-off-by: Gerd Hoffmann +(cherry picked from commit 02d34f62fdecb54637e5a66d254bd68fcbfa397f) +[BR: BSC#988855] +Signed-off-by: Bruce Rogers +--- + configure | 18 ++++++++---------- + 1 file changed, 8 insertions(+), 10 deletions(-) + +diff --git a/configure b/configure +index b455035..767658e 100755 +--- a/configure ++++ b/configure +@@ -4748,6 +4748,12 @@ EOF + fi + fi + ++echo_version() { ++ if test "$1" = "yes" ; then ++ echo "($2)" ++ fi ++} ++ + # prepend pixman and ftd flags after all config tests are done + QEMU_CFLAGS="$pixman_cflags $fdt_cflags $QEMU_CFLAGS" + libs_softmmu="$pixman_libs $libs_softmmu" +@@ -4805,11 +4811,7 @@ echo "GNUTLS hash $gnutls_hash" + echo "GNUTLS rnd $gnutls_rnd" + echo "libgcrypt $gcrypt" + echo "libgcrypt kdf $gcrypt_kdf" +-if test "$nettle" = "yes"; then +- echo "nettle $nettle ($nettle_version)" +-else +- echo "nettle $nettle" +-fi ++echo "nettle $nettle `echo_version $nettle $nettle_version`" + echo "nettle kdf $nettle_kdf" + echo "libtasn1 $tasn1" + echo "VTE support $vte" +@@ -4861,11 +4863,7 @@ echo "Trace backends $trace_backends" + if have_backend "simple"; then + echo "Trace output file $trace_file-" + fi +-if test "$spice" = "yes"; then +-echo "spice support $spice ($spice_protocol_version/$spice_server_version)" +-else +-echo "spice support $spice" +-fi ++echo "spice support $spice `echo_version $spice $spice_protocol_version/$spice_server_version`" + echo "rbd support $rbd" + echo "xfsctl support $xfs" + echo "smartcard support $smartcard" diff --git a/0062-configure-support-vte-2.91.patch b/0062-configure-support-vte-2.91.patch new file mode 100644 index 00000000..49b46356 --- /dev/null +++ b/0062-configure-support-vte-2.91.patch @@ -0,0 +1,70 @@ +From b673055ec7e4eda0454aacc2d042bd53405f85e6 Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Fri, 6 May 2016 14:03:12 -0400 +Subject: [PATCH] configure: support vte-2.91 + +vte >= 0.37 expores API version 2.91, which is where all the active +development is. qemu builds and runs fine with that version, so use it +if it's available. + +Signed-off-by: Cole Robinson +Message-id: b4f0375647f7b368d3dbd3834aee58cb0253566a.1462557436.git.crobinso@redhat.com +Signed-off-by: Gerd Hoffmann +(cherry picked from commit c6feff9e09aa999b77a37f532adbb89682ecb1b6) +[BR: BSC#988855] +Signed-off-by: Bruce Rogers +--- + configure | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/configure b/configure +index 767658e..f32cff5 100755 +--- a/configure ++++ b/configure +@@ -2395,20 +2395,25 @@ fi + + if test "$vte" != "no"; then + if test "$gtkabi" = "3.0"; then +- vtepackage="vte-2.90" +- vteversion="0.32.0" ++ vteminversion="0.32.0" ++ if $pkg_config --exists "vte-2.91"; then ++ vtepackage="vte-2.91" ++ else ++ vtepackage="vte-2.90" ++ fi + else + vtepackage="vte" +- vteversion="0.24.0" ++ vteminversion="0.24.0" + fi +- if $pkg_config --exists "$vtepackage >= $vteversion"; then ++ if $pkg_config --exists "$vtepackage >= $vteminversion"; then + vte_cflags=`$pkg_config --cflags $vtepackage` + vte_libs=`$pkg_config --libs $vtepackage` ++ vteversion=`$pkg_config --modversion $vtepackage` + libs_softmmu="$vte_libs $libs_softmmu" + vte="yes" + elif test "$vte" = "yes"; then + if test "$gtkabi" = "3.0"; then +- feature_not_found "vte" "Install libvte-2.90 devel" ++ feature_not_found "vte" "Install libvte-2.90/2.91 devel" + else + feature_not_found "vte" "Install libvte devel" + fi +@@ -4806,6 +4811,7 @@ echo "pixman $pixman" + echo "SDL support $sdl" + echo "GTK support $gtk" + echo "GTK GL support $gtk_gl" ++echo "VTE support $vte `echo_version $vte $vteversion`" + echo "GNUTLS support $gnutls" + echo "GNUTLS hash $gnutls_hash" + echo "GNUTLS rnd $gnutls_rnd" +@@ -4814,7 +4820,6 @@ echo "libgcrypt kdf $gcrypt_kdf" + echo "nettle $nettle `echo_version $nettle $nettle_version`" + echo "nettle kdf $nettle_kdf" + echo "libtasn1 $tasn1" +-echo "VTE support $vte" + echo "curses support $curses" + echo "virgl support $virglrenderer" + echo "curl support $curl" diff --git a/0063-hw-arm-virt-mark-the-PCIe-host-cont.patch b/0063-hw-arm-virt-mark-the-PCIe-host-cont.patch new file mode 100644 index 00000000..fba9cd7c --- /dev/null +++ b/0063-hw-arm-virt-mark-the-PCIe-host-cont.patch @@ -0,0 +1,38 @@ +From ced63da3c840792292a6ee8201c3f7789b80b7eb Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel +Date: Mon, 4 Jul 2016 13:06:36 +0100 +Subject: [PATCH] hw/arm/virt: mark the PCIe host controller as DMA coherent in + the DT + +Since QEMU performs cacheable accesses to guest memory when doing DMA +as part of the implementation of emulated PCI devices, guest drivers +should use cacheable accesses as well when running under KVM. Since this +essentially means that emulated PCI devices are DMA coherent, set the +'dma-coherent' DT property on the PCIe host controller DT node. + +This brings the DT description into line with the ACPI description, +which already marks the PCI bridge as cache coherent (see commit +bc64b96c984abf). + +Signed-off-by: Ard Biesheuvel +Message-id: 1467134090-5099-1-git-send-email-ard.biesheuvel@linaro.org +Reviewed-by: Peter Maydell +Signed-off-by: Peter Maydell +(cherry picked from commit 5d636e21c44ecf982a22a7bc4ca89186079ac283) +Signed-off-by: Alexander Graf +--- + hw/arm/virt.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hw/arm/virt.c b/hw/arm/virt.c +index 56d35c7..9d015d5 100644 +--- a/hw/arm/virt.c ++++ b/hw/arm/virt.c +@@ -950,6 +950,7 @@ static void create_pcie(const VirtBoardInfo *vbi, qemu_irq *pic, + qemu_fdt_setprop_cell(vbi->fdt, nodename, "#size-cells", 2); + qemu_fdt_setprop_cells(vbi->fdt, nodename, "bus-range", 0, + nr_pcie_buses - 1); ++ qemu_fdt_setprop(vbi->fdt, nodename, "dma-coherent", NULL, 0); + + if (vbi->v2m_phandle) { + qemu_fdt_setprop_cells(vbi->fdt, nodename, "msi-parent", diff --git a/0064-xen-SUSE-xenlinux-unplug-for-emulat.patch b/0064-xen-SUSE-xenlinux-unplug-for-emulat.patch new file mode 100644 index 00000000..96c8e79d --- /dev/null +++ b/0064-xen-SUSE-xenlinux-unplug-for-emulat.patch @@ -0,0 +1,47 @@ +From 1caba48fc19de7cdceda7577ccf6970d4eb7ed75 Mon Sep 17 00:00:00 2001 +From: Olaf Hering +Date: Tue, 21 Jun 2016 18:42:45 +0200 +Subject: [PATCH] xen: SUSE xenlinux unplug for emulated PCI + +Implement SUSE specific unplug protocol for emulated PCI devices +in PVonHVM guests +(bsc#953339, bsc#953362, bsc#953518, bsc#984981) + +Signed-off-by: Olaf Hering +--- + hw/i386/xen/xen_platform.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c +index aa78393..48800c1 100644 +--- a/hw/i386/xen/xen_platform.c ++++ b/hw/i386/xen/xen_platform.c +@@ -314,6 +314,28 @@ static void xen_platform_ioport_writeb(void *opaque, hwaddr addr, + case 0: /* Platform flags */ + platform_fixed_ioport_writeb(opaque, 0, (uint32_t)val); + break; ++ case 4: ++ if (val == 1 && size == 1) { ++ /* ++ * SUSE unplug for Xenlinux ++ * xen-kmp used this since xen-3.0.4, instead the official protocol from xen-3.3+ ++ * It did an unconditional "outl(1, (ioaddr + 4));" ++ * This approach was used until openSUSE 12.3, up to SLE11SP3 and in SLE10. ++ * Starting with openSUSE 13.1, SLE11SP4 and SLE12 the official protocol is used. ++ * pre VMDP 1.7 made use of 4 and 8 depending on how vmdp was configured. ++ * If VMDP was to control both disk and LAN it would use 4. ++ * If it controlled just disk or just LAN, it would use 8 below. ++ */ ++ PCIDevice *pci_dev = PCI_DEVICE(s); ++ DPRINTF("unplug disks\n"); ++ blk_drain_all(); ++ blk_flush_all(); ++ pci_unplug_disks(pci_dev->bus); ++ DPRINTF("unplug nics\n"); ++ pci_unplug_nics(pci_dev->bus); ++ DPRINTF("done\n"); ++ } ++ break; + case 8: + log_writeb(s, (uint32_t)val); + break; diff --git a/0065-scsi-esp-check-buffer-length-before.patch b/0065-scsi-esp-check-buffer-length-before.patch new file mode 100644 index 00000000..4c9e6f96 --- /dev/null +++ b/0065-scsi-esp-check-buffer-length-before.patch @@ -0,0 +1,36 @@ +From 440a840f30f2439aece31ae59a5ee91675a78bb1 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit +Date: Tue, 31 May 2016 23:23:27 +0530 +Subject: [PATCH] scsi: esp: check buffer length before reading scsi command + +The 53C9X Fast SCSI Controller(FSC) comes with an internal 16-byte +FIFO buffer. It is used to handle command and data transfer. +Routine get_cmd() in non-DMA mode, uses 'ti_size' to read scsi +command into a buffer. Add check to validate command length against +buffer size to avoid any overrun. + +Reported-by: Li Qiang +Signed-off-by: Prasad J Pandit +Message-Id: <1464717207-7549-1-git-send-email-ppandit@redhat.com> +Signed-off-by: Paolo Bonzini +(cherry picked from commit d3cdc49138c30be1d3c2f83d18f85d9fdee95f1a) +[BR: CVE-2016-5238 BSC#982959] +Signed-off-by: Bruce Rogers +--- + hw/scsi/esp.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c +index 3adb685..4b94bbc 100644 +--- a/hw/scsi/esp.c ++++ b/hw/scsi/esp.c +@@ -98,6 +98,9 @@ static uint32_t get_cmd(ESPState *s, uint8_t *buf, uint8_t buflen) + s->dma_memory_read(s->dma_opaque, buf, dmalen); + } else { + dmalen = s->ti_size; ++ if (dmalen > TI_BUFSZ) { ++ return 0; ++ } + memcpy(buf, s->ti_buf, dmalen); + buf[0] = buf[2] >> 5; + } diff --git a/0066-scsi-esp-respect-FIFO-invariant-aft.patch b/0066-scsi-esp-respect-FIFO-invariant-aft.patch new file mode 100644 index 00000000..d332906d --- /dev/null +++ b/0066-scsi-esp-respect-FIFO-invariant-aft.patch @@ -0,0 +1,29 @@ +From 9b2c1b6e771f01757b93cc92625ef48903786291 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Tue, 14 Jun 2016 15:10:24 +0200 +Subject: [PATCH] scsi: esp: respect FIFO invariant after message phase + +The FIFO contains two bytes; hence the write ptr should be two bytes ahead +of the read pointer. + +Signed-off-by: Paolo Bonzini +(cherry picked from commit d020aa504cec8f525b55ba2ef982c09dc847c72e) +[BR: CVE-2016-5238 BSC#982959] +Signed-off-by: Bruce Rogers +--- + hw/scsi/esp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c +index 4b94bbc..3f08598 100644 +--- a/hw/scsi/esp.c ++++ b/hw/scsi/esp.c +@@ -222,7 +222,7 @@ static void write_response(ESPState *s) + } else { + s->ti_size = 2; + s->ti_rptr = 0; +- s->ti_wptr = 0; ++ s->ti_wptr = 2; + s->rregs[ESP_RFLAGS] = 2; + } + esp_raise_irq(s); diff --git a/0067-pci-assign-Move-Invalid-ROM-error-m.patch b/0067-pci-assign-Move-Invalid-ROM-error-m.patch new file mode 100644 index 00000000..c3106969 --- /dev/null +++ b/0067-pci-assign-Move-Invalid-ROM-error-m.patch @@ -0,0 +1,52 @@ +From f4fe76597dccb9017be71983c4204f21877fc69f Mon Sep 17 00:00:00 2001 +From: Lin Ma +Date: Thu, 16 Jun 2016 01:05:27 +0800 +Subject: [PATCH] pci-assign: Move "Invalid ROM" error message to + pci-assign-load-rom.c + +In function pci_assign_dev_load_option_rom, For those pci devices don't +have 'rom' file under sysfs or if loading ROM from external file, The +function returns NULL, and won't set the passed 'size' variable. + +In these 2 cases, qemu still reports "Invalid ROM" error message, Users +may be confused by it. + +Signed-off-by: Lin Ma +Message-Id: <1466010327-22368-1-git-send-email-lma@suse.com> +Cc: qemu-stable@nongnu.org +Signed-off-by: Paolo Bonzini +(cherry picked from commit be968c721ee9df49708691ab58f0e66b394dea82) +[BR: BSC#982927] +Signed-off-by: Bruce Rogers +--- + hw/i386/kvm/pci-assign.c | 4 ---- + hw/i386/pci-assign-load-rom.c | 3 +++ + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c +index bf425a2..8abce52 100644 +--- a/hw/i386/kvm/pci-assign.c ++++ b/hw/i386/kvm/pci-assign.c +@@ -1891,8 +1891,4 @@ static void assigned_dev_load_option_rom(AssignedDevice *dev) + pci_assign_dev_load_option_rom(&dev->dev, OBJECT(dev), &size, + dev->host.domain, dev->host.bus, + dev->host.slot, dev->host.function); +- +- if (!size) { +- error_report("pci-assign: Invalid ROM."); +- } + } +diff --git a/hw/i386/pci-assign-load-rom.c b/hw/i386/pci-assign-load-rom.c +index 4bbb08c..0d8e4b2 100644 +--- a/hw/i386/pci-assign-load-rom.c ++++ b/hw/i386/pci-assign-load-rom.c +@@ -40,6 +40,9 @@ void *pci_assign_dev_load_option_rom(PCIDevice *dev, struct Object *owner, + domain, bus, slot, function); + + if (stat(rom_file, &st)) { ++ if (errno != ENOENT) { ++ error_report("pci-assign: Invalid ROM."); ++ } + return NULL; + } + diff --git a/0068-Xen-PCI-passthrough-fix-passthrough.patch b/0068-Xen-PCI-passthrough-fix-passthrough.patch new file mode 100644 index 00000000..d34f2c81 --- /dev/null +++ b/0068-Xen-PCI-passthrough-fix-passthrough.patch @@ -0,0 +1,29 @@ +From a4b6bbf1139ebc70375c48afe99fccdd9dcaa501 Mon Sep 17 00:00:00 2001 +From: Bruce Rogers +Date: Tue, 26 Jul 2016 16:42:45 -0600 +Subject: [PATCH] Xen PCI passthrough: fix passthrough failure when no + interrupt pin + +Commit 5a11d0f7 mistakenly converted a log message into an error +condition when no pin interrupt is found for the pci device being +passed through. Revert that part of the commit. + +[BR: BSC#981925, BSC#989250] +Signed-off-by: Bruce Rogers +--- + hw/xen/xen_pt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c +index f593b04..b6d71bb 100644 +--- a/hw/xen/xen_pt.c ++++ b/hw/xen/xen_pt.c +@@ -842,7 +842,7 @@ static void xen_pt_realize(PCIDevice *d, Error **errp) + goto err_out; + } + if (!scratch) { +- error_setg(errp, "no pin interrupt"); ++ XEN_PT_LOG(d, "no pin interrupt\n"); + goto out; + } + diff --git a/0069-scsi-esp-make-cmdbuf-big-enough-for.patch b/0069-scsi-esp-make-cmdbuf-big-enough-for.patch new file mode 100644 index 00000000..9e14a1d7 --- /dev/null +++ b/0069-scsi-esp-make-cmdbuf-big-enough-for.patch @@ -0,0 +1,73 @@ +From 20a82db8677dfb40288953ba296c372b66146f4d Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit +Date: Thu, 16 Jun 2016 00:22:35 +0200 +Subject: [PATCH] scsi: esp: make cmdbuf big enough for maximum CDB size + +While doing DMA read into ESP command buffer 's->cmdbuf', it could +write past the 's->cmdbuf' area, if it was transferring more than 16 +bytes. Increase the command buffer size to 32, which is maximum when +'s->do_cmd' is set, and add a check on 'len' to avoid OOB access. + +Reported-by: Li Qiang +Signed-off-by: Prasad J Pandit +Signed-off-by: Paolo Bonzini +(cherry picked from commit 926cde5f3e4d2504ed161ed0cb771ac7cad6fd11) +[BR: CVE-2016-6351 BSC#990835] +Signed-off-by: Bruce Rogers +--- + hw/scsi/esp.c | 6 ++++-- + include/hw/scsi/esp.h | 3 ++- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c +index 3f08598..9e318fd 100644 +--- a/hw/scsi/esp.c ++++ b/hw/scsi/esp.c +@@ -249,6 +249,8 @@ static void esp_do_dma(ESPState *s) + len = s->dma_left; + if (s->do_cmd) { + trace_esp_do_dma(s->cmdlen, len); ++ assert (s->cmdlen <= sizeof(s->cmdbuf) && ++ len <= sizeof(s->cmdbuf) - s->cmdlen); + s->dma_memory_read(s->dma_opaque, &s->cmdbuf[s->cmdlen], len); + s->ti_size = 0; + s->cmdlen = 0; +@@ -348,7 +350,7 @@ static void handle_ti(ESPState *s) + s->dma_counter = dmalen; + + if (s->do_cmd) +- minlen = (dmalen < 32) ? dmalen : 32; ++ minlen = (dmalen < ESP_CMDBUF_SZ) ? dmalen : ESP_CMDBUF_SZ; + else if (s->ti_size < 0) + minlen = (dmalen < -s->ti_size) ? dmalen : -s->ti_size; + else +@@ -452,7 +454,7 @@ void esp_reg_write(ESPState *s, uint32_t saddr, uint64_t val) + break; + case ESP_FIFO: + if (s->do_cmd) { +- if (s->cmdlen < TI_BUFSZ) { ++ if (s->cmdlen < ESP_CMDBUF_SZ) { + s->cmdbuf[s->cmdlen++] = val & 0xff; + } else { + trace_esp_error_fifo_overrun(); +diff --git a/include/hw/scsi/esp.h b/include/hw/scsi/esp.h +index 6c79527..d2c4886 100644 +--- a/include/hw/scsi/esp.h ++++ b/include/hw/scsi/esp.h +@@ -14,6 +14,7 @@ void esp_init(hwaddr espaddr, int it_shift, + + #define ESP_REGS 16 + #define TI_BUFSZ 16 ++#define ESP_CMDBUF_SZ 32 + + typedef struct ESPState ESPState; + +@@ -31,7 +32,7 @@ struct ESPState { + SCSIBus bus; + SCSIDevice *current_dev; + SCSIRequest *current_req; +- uint8_t cmdbuf[TI_BUFSZ]; ++ uint8_t cmdbuf[ESP_CMDBUF_SZ]; + uint32_t cmdlen; + uint32_t do_cmd; + diff --git a/0070-scsi-esp-fix-migration.patch b/0070-scsi-esp-fix-migration.patch new file mode 100644 index 00000000..b415c190 --- /dev/null +++ b/0070-scsi-esp-fix-migration.patch @@ -0,0 +1,58 @@ +From a4c62237f33857750850ef30066a5ae5d4d1194e Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Mon, 20 Jun 2016 16:32:39 +0200 +Subject: [PATCH] scsi: esp: fix migration + +Commit 926cde5 ("scsi: esp: make cmdbuf big enough for maximum CDB size", +2016-06-16) changed the size of a migrated field. Split it in two +parts, and only migrate the second part in a new vmstate version. + +Signed-off-by: Paolo Bonzini +(cherry picked from commit cc96677469388bad3d66479379735cf75db069e3) +[BR: CVE-2016-6351 BSC#990835] +Signed-off-by: Bruce Rogers +--- + hw/scsi/esp.c | 5 +++-- + include/migration/vmstate.h | 5 ++++- + 2 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c +index 9e318fd..25c547c 100644 +--- a/hw/scsi/esp.c ++++ b/hw/scsi/esp.c +@@ -577,7 +577,7 @@ static bool esp_mem_accepts(void *opaque, hwaddr addr, + + const VMStateDescription vmstate_esp = { + .name ="esp", +- .version_id = 3, ++ .version_id = 4, + .minimum_version_id = 3, + .fields = (VMStateField[]) { + VMSTATE_BUFFER(rregs, ESPState), +@@ -588,7 +588,8 @@ const VMStateDescription vmstate_esp = { + VMSTATE_BUFFER(ti_buf, ESPState), + VMSTATE_UINT32(status, ESPState), + VMSTATE_UINT32(dma, ESPState), +- VMSTATE_BUFFER(cmdbuf, ESPState), ++ VMSTATE_PARTIAL_BUFFER(cmdbuf, ESPState, 16), ++ VMSTATE_BUFFER_START_MIDDLE_V(cmdbuf, ESPState, 16, 4), + VMSTATE_UINT32(cmdlen, ESPState), + VMSTATE_UINT32(do_cmd, ESPState), + VMSTATE_UINT32(dma_left, ESPState), +diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h +index 84ee355..853a2bd 100644 +--- a/include/migration/vmstate.h ++++ b/include/migration/vmstate.h +@@ -888,8 +888,11 @@ extern const VMStateInfo vmstate_info_bitmap; + #define VMSTATE_PARTIAL_BUFFER(_f, _s, _size) \ + VMSTATE_STATIC_BUFFER(_f, _s, 0, NULL, 0, _size) + ++#define VMSTATE_BUFFER_START_MIDDLE_V(_f, _s, _start, _v) \ ++ VMSTATE_STATIC_BUFFER(_f, _s, _v, NULL, _start, sizeof(typeof_field(_s, _f))) ++ + #define VMSTATE_BUFFER_START_MIDDLE(_f, _s, _start) \ +- VMSTATE_STATIC_BUFFER(_f, _s, 0, NULL, _start, sizeof(typeof_field(_s, _f))) ++ VMSTATE_BUFFER_START_MIDDLE_V(_f, _s, _start, 0) + + #define VMSTATE_PARTIAL_VBUFFER(_f, _s, _size) \ + VMSTATE_VBUFFER(_f, _s, 0, NULL, 0, _size) diff --git a/0071-virtio-error-out-if-guest-exceeds-v.patch b/0071-virtio-error-out-if-guest-exceeds-v.patch new file mode 100644 index 00000000..af24e048 --- /dev/null +++ b/0071-virtio-error-out-if-guest-exceeds-v.patch @@ -0,0 +1,65 @@ +From d9c626e4ede58130f64f24f4f9ca1140e4102a70 Mon Sep 17 00:00:00 2001 +From: Stefan Hajnoczi +Date: Tue, 19 Jul 2016 13:07:13 +0100 +Subject: [PATCH] virtio: error out if guest exceeds virtqueue size + +A broken or malicious guest can submit more requests than the virtqueue +size permits, causing unbounded memory allocation in QEMU. + +The guest can submit requests without bothering to wait for completion +and is therefore not bound by virtqueue size. This requires reusing +vring descriptors in more than one request, which is not allowed by the +VIRTIO 1.0 specification. + +In "3.2.1 Supplying Buffers to The Device", the VIRTIO 1.0 specification +says: + + 1. The driver places the buffer into free descriptor(s) in the + descriptor table, chaining as necessary + +and + + Note that the above code does not take precautions against the + available ring buffer wrapping around: this is not possible since the + ring buffer is the same size as the descriptor table, so step (1) will + prevent such a condition. + +This implies that placing more buffers into the virtqueue than the +descriptor table size is not allowed. + +QEMU is missing the check to prevent this case. Processing a request +allocates a VirtQueueElement leading to unbounded memory allocation +controlled by the guest. + +Exit with an error if the guest provides more requests than the +virtqueue size permits. This bounds memory allocation and makes the +buggy guest visible to the user. + +This patch fixes CVE-2016-5403 and was reported by Zhenhao Hong from 360 +Marvel Team, China. + +Reported-by: Zhenhao Hong +Signed-off-by: Stefan Hajnoczi +(cherry picked from commit afd9096eb1882f23929f5b5c177898ed231bac66) +[BR: CVE-2016-5403 BSC#991080] +Signed-off-by: Bruce Rogers +--- + hw/virtio/virtio.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c +index 30ede3d..e5ead0d 100644 +--- a/hw/virtio/virtio.c ++++ b/hw/virtio/virtio.c +@@ -561,6 +561,11 @@ void *virtqueue_pop(VirtQueue *vq, size_t sz) + + max = vq->vring.num; + ++ if (vq->inuse >= vq->vring.num) { ++ error_report("Virtqueue size exceeded"); ++ exit(1); ++ } ++ + i = head = virtqueue_get_head(vq, vq->last_avail_idx++); + if (virtio_vdev_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX)) { + vring_set_avail_event(vq, vq->last_avail_idx); diff --git a/0072-xen-when-removing-a-backend-don-t-r.patch b/0072-xen-when-removing-a-backend-don-t-r.patch new file mode 100644 index 00000000..137ad118 --- /dev/null +++ b/0072-xen-when-removing-a-backend-don-t-r.patch @@ -0,0 +1,103 @@ +From 0d4ea8a7847a76415ed0d0db0392be5b7d1b71a6 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Fri, 29 Jul 2016 12:51:53 +0200 +Subject: [PATCH] xen: when removing a backend don't remove many of them + +When a Xenstore watch fires indicating a backend has to be removed +don't remove all backends for that domain with the specified device +index, but just the one which has the correct type. + +The easiest way to achieve this is to use the already determined +xendev as parameter for xen_be_del_xendev() instead of only the domid +and device index. + +This at once removes the open coded QTAILQ_FOREACH_SAVE() in +xen_be_del_xendev() as there is no need to search for the correct +xendev any longer. + +Signed-off-by: Juergen Gross +Signed-off-by: Bruce Rogers +--- + hw/xen/xen_backend.c | 58 +++++++++++++++++----------------------------------- + 1 file changed, 19 insertions(+), 39 deletions(-) + +diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c +index 6e52474..8f347da 100644 +--- a/hw/xen/xen_backend.c ++++ b/hw/xen/xen_backend.c +@@ -322,48 +322,28 @@ static struct XenDevice *xen_be_get_xendev(const char *type, int dom, int dev, + /* + * release xen backend device. + */ +-static struct XenDevice *xen_be_del_xendev(int dom, int dev) ++static void xen_be_del_xendev(struct XenDevice *xendev) + { +- struct XenDevice *xendev, *xnext; +- +- /* +- * This is pretty much like QTAILQ_FOREACH(xendev, &xendevs, next) but +- * we save the next pointer in xnext because we might free xendev. +- */ +- xnext = xendevs.tqh_first; +- while (xnext) { +- xendev = xnext; +- xnext = xendev->next.tqe_next; +- +- if (xendev->dom != dom) { +- continue; +- } +- if (xendev->dev != dev && dev != -1) { +- continue; +- } +- +- if (xendev->ops->free) { +- xendev->ops->free(xendev); +- } +- +- if (xendev->fe) { +- char token[XEN_BUFSIZE]; +- snprintf(token, sizeof(token), "fe:%p", xendev); +- xs_unwatch(xenstore, xendev->fe, token); +- g_free(xendev->fe); +- } ++ if (xendev->ops->free) { ++ xendev->ops->free(xendev); ++ } + +- if (xendev->evtchndev != NULL) { +- xenevtchn_close(xendev->evtchndev); +- } +- if (xendev->gnttabdev != NULL) { +- xengnttab_close(xendev->gnttabdev); +- } ++ if (xendev->fe) { ++ char token[XEN_BUFSIZE]; ++ snprintf(token, sizeof(token), "fe:%p", xendev); ++ xs_unwatch(xenstore, xendev->fe, token); ++ g_free(xendev->fe); ++ } + +- QTAILQ_REMOVE(&xendevs, xendev, next); +- g_free(xendev); ++ if (xendev->evtchndev != NULL) { ++ xenevtchn_close(xendev->evtchndev); + } +- return NULL; ++ if (xendev->gnttabdev != NULL) { ++ xengnttab_close(xendev->gnttabdev); ++ } ++ ++ QTAILQ_REMOVE(&xendevs, xendev, next); ++ g_free(xendev); + } + + /* +@@ -683,7 +663,7 @@ static void xenstore_update_be(char *watch, char *type, int dom, + if (xendev != NULL) { + bepath = xs_read(xenstore, 0, xendev->be, &len); + if (bepath == NULL) { +- xen_be_del_xendev(dom, dev); ++ xen_be_del_xendev(xendev); + } else { + free(bepath); + xen_be_backend_changed(xendev, path); diff --git a/0073-xen-drain-submit-queue-in-xen-usb-b.patch b/0073-xen-drain-submit-queue-in-xen-usb-b.patch new file mode 100644 index 00000000..ae9cacb0 --- /dev/null +++ b/0073-xen-drain-submit-queue-in-xen-usb-b.patch @@ -0,0 +1,210 @@ +From afb94bcc5bbb8b58f8c96821caaab268f96cabdb Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Wed, 27 Jul 2016 08:17:41 +0200 +Subject: [PATCH] xen: drain submit queue in xen-usb before removing device + +When unplugging a device in the Xen pvusb backend drain the submit +queue before deallocation of the control structures. Otherwise there +will be bogus memory accesses when I/O contracts are finished. + +Correlated to this issue is the handling of cancel requests: a packet +cancelled will still lead to the call of complete, so add a flag +to the request indicating it should be just dropped on complete. + +Signed-off-by: Juergen Gross +Signed-off-by: Bruce Rogers +--- + hw/usb/xen-usb.c | 95 ++++++++++++++++++++++++++++++++++++-------------------- + 1 file changed, 61 insertions(+), 34 deletions(-) + +diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c +index 664df04..6f4b99d 100644 +--- a/hw/usb/xen-usb.c ++++ b/hw/usb/xen-usb.c +@@ -94,6 +94,8 @@ struct usbback_req { + void *buffer; + void *isoc_buffer; + struct libusb_transfer *xfer; ++ ++ bool cancelled; + }; + + struct usbback_hotplug { +@@ -304,20 +306,23 @@ static void usbback_do_response(struct usbback_req *usbback_req, int32_t status, + usbback_req->isoc_buffer = NULL; + } + +- res = RING_GET_RESPONSE(&usbif->urb_ring, usbif->urb_ring.rsp_prod_pvt); +- res->id = usbback_req->req.id; +- res->status = status; +- res->actual_length = actual_length; +- res->error_count = error_count; +- res->start_frame = 0; +- usbif->urb_ring.rsp_prod_pvt++; +- RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&usbif->urb_ring, notify); +- +- if (notify) { +- xen_be_send_notify(xendev); ++ if (usbif->urb_sring) { ++ res = RING_GET_RESPONSE(&usbif->urb_ring, usbif->urb_ring.rsp_prod_pvt); ++ res->id = usbback_req->req.id; ++ res->status = status; ++ res->actual_length = actual_length; ++ res->error_count = error_count; ++ res->start_frame = 0; ++ usbif->urb_ring.rsp_prod_pvt++; ++ RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&usbif->urb_ring, notify); ++ ++ if (notify) { ++ xen_be_send_notify(xendev); ++ } + } + +- usbback_put_req(usbback_req); ++ if (!usbback_req->cancelled) ++ usbback_put_req(usbback_req); + } + + static void usbback_do_response_ret(struct usbback_req *usbback_req, +@@ -369,15 +374,14 @@ static void usbback_set_address(struct usbback_info *usbif, + } + } + +-static bool usbback_cancel_req(struct usbback_req *usbback_req) ++static void usbback_cancel_req(struct usbback_req *usbback_req) + { +- bool ret = false; +- + if (usb_packet_is_inflight(&usbback_req->packet)) { + usb_cancel_packet(&usbback_req->packet); +- ret = true; ++ QTAILQ_REMOVE(&usbback_req->stub->submit_q, usbback_req, q); ++ usbback_req->cancelled = true; ++ usbback_do_response_ret(usbback_req, -EPROTO); + } +- return ret; + } + + static void usbback_process_unlink_req(struct usbback_req *usbback_req) +@@ -394,7 +398,7 @@ static void usbback_process_unlink_req(struct usbback_req *usbback_req) + devnum = usbif_pipedevice(usbback_req->req.pipe); + if (unlikely(devnum == 0)) { + usbback_req->stub = usbif->ports + +- usbif_pipeportnum(usbback_req->req.pipe); ++ usbif_pipeportnum(usbback_req->req.pipe) - 1; + if (unlikely(!usbback_req->stub)) { + ret = -ENODEV; + goto fail_response; +@@ -409,9 +413,7 @@ static void usbback_process_unlink_req(struct usbback_req *usbback_req) + + QTAILQ_FOREACH(unlink_req, &usbback_req->stub->submit_q, q) { + if (unlink_req->req.id == id) { +- if (usbback_cancel_req(unlink_req)) { +- usbback_do_response_ret(unlink_req, -EPROTO); +- } ++ usbback_cancel_req(unlink_req); + break; + } + } +@@ -684,6 +686,31 @@ static void usbback_hotplug_enq(struct usbback_info *usbif, unsigned port) + usbback_hotplug_notify(usbif); + } + ++static void usbback_portid_drain(struct usbback_info *usbif, unsigned port) ++{ ++ struct usbback_req *req, *tmp; ++ bool sched = false; ++ ++ QTAILQ_FOREACH_SAFE(req, &usbif->ports[port - 1].submit_q, q, tmp) { ++ usbback_cancel_req(req); ++ sched = true; ++ } ++ ++ if (sched) ++ qemu_bh_schedule(usbif->bh); ++} ++ ++static void usbback_portid_detach(struct usbback_info *usbif, unsigned port) ++{ ++ if (!usbif->ports[port - 1].attached) ++ return; ++ ++ usbif->ports[port - 1].speed = USBIF_SPEED_NONE; ++ usbif->ports[port - 1].attached = false; ++ usbback_portid_drain(usbif, port); ++ usbback_hotplug_enq(usbif, port); ++} ++ + static void usbback_portid_remove(struct usbback_info *usbif, unsigned port) + { + USBPort *p; +@@ -697,9 +724,7 @@ static void usbback_portid_remove(struct usbback_info *usbif, unsigned port) + + object_unparent(OBJECT(usbif->ports[port - 1].dev)); + usbif->ports[port - 1].dev = NULL; +- usbif->ports[port - 1].speed = USBIF_SPEED_NONE; +- usbif->ports[port - 1].attached = false; +- usbback_hotplug_enq(usbif, port); ++ usbback_portid_detach(usbif, port); + + TR_BUS(&usbif->xendev, "port %d removed\n", port); + } +@@ -804,7 +829,6 @@ static void usbback_process_port(struct usbback_info *usbif, unsigned port) + static void usbback_disconnect(struct XenDevice *xendev) + { + struct usbback_info *usbif; +- struct usbback_req *req, *tmp; + unsigned int i; + + TR_BUS(xendev, "start\n"); +@@ -823,12 +847,8 @@ static void usbback_disconnect(struct XenDevice *xendev) + } + + for (i = 0; i < usbif->num_ports; i++) { +- if (!usbif->ports[i].dev) { +- continue; +- } +- QTAILQ_FOREACH_SAFE(req, &usbif->ports[i].submit_q, q, tmp) { +- usbback_cancel_req(req); +- } ++ if (usbif->ports[i].dev) ++ usbback_portid_drain(usbif, i + 1); + } + + TR_BUS(xendev, "finished\n"); +@@ -947,8 +967,7 @@ static void xen_bus_detach(USBPort *port) + + usbif = port->opaque; + TR_BUS(&usbif->xendev, "\n"); +- usbif->ports[port->index].attached = false; +- usbback_hotplug_enq(usbif, port->index + 1); ++ usbback_portid_detach(usbif, port->index + 1); + } + + static void xen_bus_child_detach(USBPort *port, USBDevice *child) +@@ -961,9 +980,16 @@ static void xen_bus_child_detach(USBPort *port, USBDevice *child) + + static void xen_bus_complete(USBPort *port, USBPacket *packet) + { ++ struct usbback_req *usbback_req; + struct usbback_info *usbif; + +- usbif = port->opaque; ++ usbback_req = container_of(packet, struct usbback_req, packet); ++ if (usbback_req->cancelled) { ++ g_free(usbback_req); ++ return; ++ } ++ ++ usbif = usbback_req->usbif; + TR_REQ(&usbif->xendev, "\n"); + usbback_packet_complete(packet); + } +@@ -1040,6 +1066,7 @@ static int usbback_free(struct XenDevice *xendev) + } + + usb_bus_release(&usbif->bus); ++ object_unparent(OBJECT(&usbif->bus)); + + TR_BUS(xendev, "finished\n"); + diff --git a/0074-qcow2-avoid-extra-flushes-in-qcow2.patch b/0074-qcow2-avoid-extra-flushes-in-qcow2.patch new file mode 100644 index 00000000..8b9466e0 --- /dev/null +++ b/0074-qcow2-avoid-extra-flushes-in-qcow2.patch @@ -0,0 +1,104 @@ +From 197d526012602fbac75392a86e991539e4400bf0 Mon Sep 17 00:00:00 2001 +From: "Denis V. Lunev" +Date: Thu, 2 Jun 2016 18:58:15 +0300 +Subject: [PATCH] qcow2: avoid extra flushes in qcow2 + +The problem with excessive flushing was found by a couple of performance +tests: + - parallel directory tree creation (from 2 processes) + - 32 cached writes + fsync at the end in a loop + +For the first one results improved from 2.6 loops/sec to 3.5 loops/sec. +Each loop creates 10^3 directories with 10 files in each. + +For the second one results improved from ~600 fsync/sec to ~1100 +fsync/sec. Though, it was run on SSD so it probably won't show such +performance gain on rotational media. + +qcow2_cache_flush() calls bdrv_flush() unconditionally after writing +cache entries of a particular cache. This can lead to as many as +2 additional fdatasyncs inside bdrv_flush. + +We can simply skip all fdatasync calls inside qcow2_co_flush_to_os +as bdrv_flush for sure will do the job. These flushes are necessary to +keep the right order of writes to the different caches. Though this is +not necessary in the current code base as this ordering is ensured through +the flush in qcow2_cache_flush_dependency(). + +Signed-off-by: Denis V. Lunev +CC: Pavel Borzenkov +CC: Kevin Wolf +CC: Max Reitz +Signed-off-by: Kevin Wolf +(cherry picked from commit f3c3b87dae44ac6c82246ceb3953793951800a9a) +[BR: BSC#991296] +Signed-off-by: Bruce Rogers +--- + block/qcow2-cache.c | 11 +++++++++-- + block/qcow2.c | 4 ++-- + block/qcow2.h | 1 + + 3 files changed, 12 insertions(+), 4 deletions(-) + +diff --git a/block/qcow2-cache.c b/block/qcow2-cache.c +index 0fe8eda..208a060 100644 +--- a/block/qcow2-cache.c ++++ b/block/qcow2-cache.c +@@ -226,7 +226,7 @@ static int qcow2_cache_entry_flush(BlockDriverState *bs, Qcow2Cache *c, int i) + return 0; + } + +-int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c) ++int qcow2_cache_write(BlockDriverState *bs, Qcow2Cache *c) + { + BDRVQcow2State *s = bs->opaque; + int result = 0; +@@ -242,8 +242,15 @@ int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c) + } + } + ++ return result; ++} ++ ++int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c) ++{ ++ int result = qcow2_cache_write(bs, c); ++ + if (result == 0) { +- ret = bdrv_flush(bs->file->bs); ++ int ret = bdrv_flush(bs->file->bs); + if (ret < 0) { + result = ret; + } +diff --git a/block/qcow2.c b/block/qcow2.c +index 470734b..dc609a1 100644 +--- a/block/qcow2.c ++++ b/block/qcow2.c +@@ -2774,14 +2774,14 @@ static coroutine_fn int qcow2_co_flush_to_os(BlockDriverState *bs) + int ret; + + qemu_co_mutex_lock(&s->lock); +- ret = qcow2_cache_flush(bs, s->l2_table_cache); ++ ret = qcow2_cache_write(bs, s->l2_table_cache); + if (ret < 0) { + qemu_co_mutex_unlock(&s->lock); + return ret; + } + + if (qcow2_need_accurate_refcounts(s)) { +- ret = qcow2_cache_flush(bs, s->refcount_block_cache); ++ ret = qcow2_cache_write(bs, s->refcount_block_cache); + if (ret < 0) { + qemu_co_mutex_unlock(&s->lock); + return ret; +diff --git a/block/qcow2.h b/block/qcow2.h +index a063a3c..7db9795 100644 +--- a/block/qcow2.h ++++ b/block/qcow2.h +@@ -583,6 +583,7 @@ int qcow2_cache_destroy(BlockDriverState* bs, Qcow2Cache *c); + void qcow2_cache_entry_mark_dirty(BlockDriverState *bs, Qcow2Cache *c, + void *table); + int qcow2_cache_flush(BlockDriverState *bs, Qcow2Cache *c); ++int qcow2_cache_write(BlockDriverState *bs, Qcow2Cache *c); + int qcow2_cache_set_dependency(BlockDriverState *bs, Qcow2Cache *c, + Qcow2Cache *dependency); + void qcow2_cache_depends_on_flush(Qcow2Cache *c); diff --git a/0075-qemu-bridge-helper-reduce-security-.patch b/0075-qemu-bridge-helper-reduce-security-.patch new file mode 100644 index 00000000..ea62bc26 --- /dev/null +++ b/0075-qemu-bridge-helper-reduce-security-.patch @@ -0,0 +1,83 @@ +From 4bbd77b07de2f0df2e8a0dba9c4ca51299ee2518 Mon Sep 17 00:00:00 2001 +From: Bruce Rogers +Date: Tue, 2 Aug 2016 11:36:02 -0600 +Subject: [PATCH] qemu-bridge-helper: reduce security profile + +Change from using glib alloc and free routines to those +from libc. Also perform safety measure of dropping privs +to user if configured no-caps. + +[BR: BOO#988279] +Signed-off-by: Bruce Rogers +--- + qemu-bridge-helper.c | 29 ++++++++++++++++++++++++----- + 1 file changed, 24 insertions(+), 5 deletions(-) + +diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c +index 830fb9e..73ac49b 100644 +--- a/qemu-bridge-helper.c ++++ b/qemu-bridge-helper.c +@@ -15,8 +15,6 @@ + + #include "qemu/osdep.h" + +-#include +- + #include + #include + #include +@@ -111,7 +109,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list) + *argend = 0; + + if (strcmp(cmd, "deny") == 0) { +- acl_rule = g_malloc(sizeof(*acl_rule)); ++ acl_rule = calloc(1, sizeof(*acl_rule)); ++ if (!acl_rule) { ++ fclose(f); ++ errno = ENOMEM; ++ return -1; ++ } + if (strcmp(arg, "all") == 0) { + acl_rule->type = ACL_DENY_ALL; + } else { +@@ -120,7 +123,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list) + } + QSIMPLEQ_INSERT_TAIL(acl_list, acl_rule, entry); + } else if (strcmp(cmd, "allow") == 0) { +- acl_rule = g_malloc(sizeof(*acl_rule)); ++ acl_rule = calloc(1, sizeof(*acl_rule)); ++ if (!acl_rule) { ++ fclose(f); ++ errno = ENOMEM; ++ return -1; ++ } + if (strcmp(arg, "all") == 0) { + acl_rule->type = ACL_ALLOW_ALL; + } else { +@@ -414,6 +422,17 @@ int main(int argc, char **argv) + goto cleanup; + } + ++#ifndef CONFIG_LIBCAP ++ /* avoid sending the fd as root user if running suid to not fool ++ * peer credentials to daemons that dont expect that ++ */ ++ if (setuid(getuid()) < 0) { ++ fprintf(stderr, "Failed to drop privileges.\n"); ++ ret = EXIT_FAILURE; ++ goto cleanup; ++ } ++#endif ++ + /* write fd to the domain socket */ + if (send_fd(unixfd, fd) == -1) { + fprintf(stderr, "failed to write fd to unix socket: %s\n", +@@ -435,7 +454,7 @@ cleanup: + } + while ((acl_rule = QSIMPLEQ_FIRST(&acl_list)) != NULL) { + QSIMPLEQ_REMOVE_HEAD(&acl_list, entry); +- g_free(acl_rule); ++ free(acl_rule); + } + + return ret; diff --git a/0076-xen-use-a-common-function-for-pv-an.patch b/0076-xen-use-a-common-function-for-pv-an.patch new file mode 100644 index 00000000..e78f0648 --- /dev/null +++ b/0076-xen-use-a-common-function-for-pv-an.patch @@ -0,0 +1,95 @@ +From ddbfdd2c5396aa810a789f5cb681879f78cb693f Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Tue, 2 Aug 2016 08:32:32 +0200 +Subject: [PATCH] xen: use a common function for pv and hvm guest backend + register calls + +Instead of calling xen_be_register() for each supported backend type +for hvm and pv guests in their machine init functions use a common +function in order not to have to add new backends twice. + +This at once fixes the error that hvm domains couldn't use the qusb +backend. + +Signed-off-by: Juergen Gross +Acked-by: Anthony PERARD +Message-id: 1470119552-16170-1-git-send-email-jgross@suse.com +Signed-off-by: Gerd Hoffmann +(cherry picked from commit 0e39bb022b5fa8c11964968885f3263c02ce42b0) +[BR: BSC#991785] +Signed-off-by: Bruce Rogers +--- + hw/xen/xen_backend.c | 10 ++++++++++ + hw/xenpv/xen_machine_pv.c | 7 +------ + include/hw/xen/xen_backend.h | 1 + + xen-hvm.c | 4 +--- + 4 files changed, 13 insertions(+), 9 deletions(-) + +diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c +index 8f347da..f4d302d 100644 +--- a/hw/xen/xen_backend.c ++++ b/hw/xen/xen_backend.c +@@ -781,6 +781,16 @@ int xen_be_register(const char *type, struct XenDevOps *ops) + return xenstore_scan(type, xen_domid, ops); + } + ++void xen_be_register_common(void) ++{ ++ xen_be_register("console", &xen_console_ops); ++ xen_be_register("vkbd", &xen_kbdmouse_ops); ++ xen_be_register("qdisk", &xen_blkdev_ops); ++#ifdef CONFIG_USB_LIBUSB ++ xen_be_register("qusb", &xen_usb_ops); ++#endif ++} ++ + int xen_be_bind_evtchn(struct XenDevice *xendev) + { + if (xendev->local_port != -1) { +diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c +index 48f725c..79aef4e 100644 +--- a/hw/xenpv/xen_machine_pv.c ++++ b/hw/xenpv/xen_machine_pv.c +@@ -67,14 +67,9 @@ static void xen_init_pv(MachineState *machine) + break; + } + +- xen_be_register("console", &xen_console_ops); +- xen_be_register("vkbd", &xen_kbdmouse_ops); ++ xen_be_register_common(); + xen_be_register("vfb", &xen_framebuffer_ops); +- xen_be_register("qdisk", &xen_blkdev_ops); + xen_be_register("qnic", &xen_netdev_ops); +-#ifdef CONFIG_USB_LIBUSB +- xen_be_register("qusb", &xen_usb_ops); +-#endif + + /* configure framebuffer */ + if (xenfb_enabled) { +diff --git a/include/hw/xen/xen_backend.h b/include/hw/xen/xen_backend.h +index 6e18a46..0e9af28 100644 +--- a/include/hw/xen/xen_backend.h ++++ b/include/hw/xen/xen_backend.h +@@ -87,6 +87,7 @@ void xen_be_check_state(struct XenDevice *xendev); + + /* xen backend driver bits */ + int xen_be_init(void); ++void xen_be_register_common(void); + int xen_be_register(const char *type, struct XenDevOps *ops); + int xen_be_set_state(struct XenDevice *xendev, enum xenbus_state state); + int xen_be_bind_evtchn(struct XenDevice *xendev); +diff --git a/xen-hvm.c b/xen-hvm.c +index 039680a..93c958a 100644 +--- a/xen-hvm.c ++++ b/xen-hvm.c +@@ -1305,9 +1305,7 @@ void xen_hvm_init(PCMachineState *pcms, MemoryRegion **ram_memory) + error_report("xen backend core setup failed"); + goto err; + } +- xen_be_register("console", &xen_console_ops); +- xen_be_register("vkbd", &xen_kbdmouse_ops); +- xen_be_register("qdisk", &xen_blkdev_ops); ++ xen_be_register_common(); + xen_read_physmap(state); + return; + diff --git a/kvm.conf b/kvm.conf new file mode 100644 index 00000000..835d1255 --- /dev/null +++ b/kvm.conf @@ -0,0 +1,3 @@ +# load kvm module at boot time +kvm + diff --git a/qemu-linux-user.changes b/qemu-linux-user.changes index c4b46bb5..5d8d553d 100644 --- a/qemu-linux-user.changes +++ b/qemu-linux-user.changes @@ -1,3 +1,173 @@ +------------------------------------------------------------------- +Wed Aug 3 17:09:11 UTC 2016 - brogers@suse.com + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches dropped: + 0058-usb-Fix-conditions-that-xen-usb.c-i.patch +* Patches added: + 0058-xen-move-xen_sysdev-to-xen_backend..patch + +------------------------------------------------------------------- +Wed Aug 3 13:51:47 UTC 2016 - brogers@suse.com + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch + 0065-scsi-esp-check-buffer-length-before.patch + 0066-scsi-esp-respect-FIFO-invariant-aft.patch + 0067-pci-assign-Move-Invalid-ROM-error-m.patch + 0068-Xen-PCI-passthrough-fix-passthrough.patch + 0069-scsi-esp-make-cmdbuf-big-enough-for.patch + 0070-scsi-esp-fix-migration.patch + 0071-virtio-error-out-if-guest-exceeds-v.patch + 0072-xen-when-removing-a-backend-don-t-r.patch + 0073-xen-drain-submit-queue-in-xen-usb-b.patch + 0074-qcow2-avoid-extra-flushes-in-qcow2.patch + 0075-qemu-bridge-helper-reduce-security-.patch + 0076-xen-use-a-common-function-for-pv-an.patch + +------------------------------------------------------------------- +Thu Jul 28 10:53:18 UTC 2016 - agraf@suse.com + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch + +------------------------------------------------------------------- +Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0061-configure-add-echo_version-helper.patch + 0062-configure-support-vte-2.91.patch + +------------------------------------------------------------------- +Thu Jul 7 16:16:40 UTC 2016 - agraf@suse.com + +- Remove deprecated patch "work-around-SA_RESTART-race" (boo#982208) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches dropped: + 0002-XXX-work-around-SA_RESTART-race-wit.patch + 0003-qemu-0.9.0.cvs-binfmt.patch + 0004-qemu-cvs-alsa_bitfield.patch + 0005-qemu-cvs-alsa_ioctl.patch + 0006-qemu-cvs-alsa_mmap.patch + 0007-qemu-cvs-gettimeofday.patch + 0008-qemu-cvs-ioctl_debug.patch + 0009-qemu-cvs-ioctl_nodirection.patch + 0010-block-vmdk-Support-creation-of-SCSI.patch + 0011-linux-user-add-binfmt-wrapper-for-a.patch + 0012-PPC-KVM-Disable-mmu-notifier-check.patch + 0013-linux-user-fix-segfault-deadlock.patch + 0014-linux-user-binfmt-support-host-bina.patch + 0015-linux-user-Ignore-broken-loop-ioctl.patch + 0016-linux-user-lock-tcg.patch + 0017-linux-user-Run-multi-threaded-code-.patch + 0018-linux-user-lock-tb-flushing-too.patch + 0019-linux-user-Fake-proc-cpuinfo.patch + 0020-linux-user-implement-FS_IOC_GETFLAG.patch + 0021-linux-user-implement-FS_IOC_SETFLAG.patch + 0022-linux-user-XXX-disable-fiemap.patch + 0023-slirp-nooutgoing.patch + 0024-vnc-password-file-and-incoming-conn.patch + 0025-linux-user-add-more-blk-ioctls.patch + 0026-linux-user-use-target_ulong.patch + 0027-block-Add-support-for-DictZip-enabl.patch + 0028-block-Add-tar-container-format.patch + 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch + 0030-console-add-question-mark-escape-op.patch + 0031-Make-char-muxer-more-robust-wrt-sma.patch + 0032-linux-user-lseek-explicitly-cast-no.patch + 0033-virtfs-proxy-helper-Provide-__u64-f.patch + 0034-configure-Enable-PIE-for-ppc-and-pp.patch + 0035-qtest-Increase-socket-timeout.patch + 0036-AIO-Reduce-number-of-threads-for-32.patch + 0037-configure-Enable-libseccomp-for-ppc.patch + 0038-dictzip-Fix-on-big-endian-systems.patch + 0039-block-split-large-discard-requests-.patch + 0040-xen_disk-Add-suse-specific-flush-di.patch + 0041-build-link-with-libatomic-on-powerp.patch + 0042-net-mipsnet-check-packet-length-aga.patch + 0043-i386-kvmvapic-initialise-imm32-vari.patch + 0044-esp-check-command-buffer-length-bef.patch + 0045-esp-check-dma-length-before-reading.patch + 0046-scsi-pvscsi-check-command-descripto.patch + 0047-scsi-mptsas-infinite-loop-while-fet.patch + 0048-vga-add-sr_vbe-register-set.patch + 0049-scsi-megasas-use-appropriate-proper.patch + 0050-scsi-megasas-check-read_queue_head-.patch + 0051-scsi-megasas-null-terminate-bios-ve.patch + 0052-vmsvga-move-fifo-sanity-checks-to-v.patch + 0053-vmsvga-don-t-process-more-than-1024.patch + 0054-block-iscsi-avoid-potential-overflo.patch + 0055-scsi-esp-check-TI-buffer-index-befo.patch + 0056-xen-introduce-dummy-system-device.patch + 0057-xen-write-information-about-support.patch + 0058-xen-add-pvUSB-backend.patch + 0059-usb-Fix-conditions-that-xen-usb.c-i.patch + 0060-vnc-add-configurable-keyboard-delay.patch + 0061-scsi-megasas-initialise-local-confi.patch +* Patches added: + 0002-qemu-0.9.0.cvs-binfmt.patch + 0003-qemu-cvs-alsa_bitfield.patch + 0004-qemu-cvs-alsa_ioctl.patch + 0005-qemu-cvs-alsa_mmap.patch + 0006-qemu-cvs-gettimeofday.patch + 0007-qemu-cvs-ioctl_debug.patch + 0008-qemu-cvs-ioctl_nodirection.patch + 0009-block-vmdk-Support-creation-of-SCSI.patch + 0010-linux-user-add-binfmt-wrapper-for-a.patch + 0011-PPC-KVM-Disable-mmu-notifier-check.patch + 0012-linux-user-fix-segfault-deadlock.patch + 0013-linux-user-binfmt-support-host-bina.patch + 0014-linux-user-Ignore-broken-loop-ioctl.patch + 0015-linux-user-lock-tcg.patch + 0016-linux-user-Run-multi-threaded-code-.patch + 0017-linux-user-lock-tb-flushing-too.patch + 0018-linux-user-Fake-proc-cpuinfo.patch + 0019-linux-user-implement-FS_IOC_GETFLAG.patch + 0020-linux-user-implement-FS_IOC_SETFLAG.patch + 0021-linux-user-XXX-disable-fiemap.patch + 0022-slirp-nooutgoing.patch + 0023-vnc-password-file-and-incoming-conn.patch + 0024-linux-user-add-more-blk-ioctls.patch + 0025-linux-user-use-target_ulong.patch + 0026-block-Add-support-for-DictZip-enabl.patch + 0027-block-Add-tar-container-format.patch + 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch + 0029-console-add-question-mark-escape-op.patch + 0030-Make-char-muxer-more-robust-wrt-sma.patch + 0031-linux-user-lseek-explicitly-cast-no.patch + 0032-virtfs-proxy-helper-Provide-__u64-f.patch + 0033-configure-Enable-PIE-for-ppc-and-pp.patch + 0034-qtest-Increase-socket-timeout.patch + 0035-AIO-Reduce-number-of-threads-for-32.patch + 0036-configure-Enable-libseccomp-for-ppc.patch + 0037-dictzip-Fix-on-big-endian-systems.patch + 0038-block-split-large-discard-requests-.patch + 0039-xen_disk-Add-suse-specific-flush-di.patch + 0040-build-link-with-libatomic-on-powerp.patch + 0041-net-mipsnet-check-packet-length-aga.patch + 0042-i386-kvmvapic-initialise-imm32-vari.patch + 0043-esp-check-command-buffer-length-bef.patch + 0044-esp-check-dma-length-before-reading.patch + 0045-scsi-pvscsi-check-command-descripto.patch + 0046-scsi-mptsas-infinite-loop-while-fet.patch + 0047-vga-add-sr_vbe-register-set.patch + 0048-scsi-megasas-use-appropriate-proper.patch + 0049-scsi-megasas-check-read_queue_head-.patch + 0050-scsi-megasas-null-terminate-bios-ve.patch + 0051-vmsvga-move-fifo-sanity-checks-to-v.patch + 0052-vmsvga-don-t-process-more-than-1024.patch + 0053-block-iscsi-avoid-potential-overflo.patch + 0054-scsi-esp-check-TI-buffer-index-befo.patch + 0055-xen-introduce-dummy-system-device.patch + 0056-xen-write-information-about-support.patch + 0057-xen-add-pvUSB-backend.patch + 0058-usb-Fix-conditions-that-xen-usb.c-i.patch + 0059-vnc-add-configurable-keyboard-delay.patch + 0060-scsi-megasas-initialise-local-confi.patch + ------------------------------------------------------------------- Fri Jun 10 20:25:33 UTC 2016 - brogers@suse.com diff --git a/qemu-linux-user.spec b/qemu-linux-user.spec index a38b7ec6..92e5c2b8 100644 --- a/qemu-linux-user.spec +++ b/qemu-linux-user.spec @@ -26,66 +26,81 @@ Release: 0 Source: http://wiki.qemu.org/download/qemu-2.6.0.tar.bz2 # This patch queue is auto-generated from https://github.com/openSUSE/qemu Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch -Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch -Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch -Patch0004: 0004-qemu-cvs-alsa_bitfield.patch -Patch0005: 0005-qemu-cvs-alsa_ioctl.patch -Patch0006: 0006-qemu-cvs-alsa_mmap.patch -Patch0007: 0007-qemu-cvs-gettimeofday.patch -Patch0008: 0008-qemu-cvs-ioctl_debug.patch -Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch -Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch -Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch -Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch -Patch0013: 0013-linux-user-fix-segfault-deadlock.patch -Patch0014: 0014-linux-user-binfmt-support-host-bina.patch -Patch0015: 0015-linux-user-Ignore-broken-loop-ioctl.patch -Patch0016: 0016-linux-user-lock-tcg.patch -Patch0017: 0017-linux-user-Run-multi-threaded-code-.patch -Patch0018: 0018-linux-user-lock-tb-flushing-too.patch -Patch0019: 0019-linux-user-Fake-proc-cpuinfo.patch -Patch0020: 0020-linux-user-implement-FS_IOC_GETFLAG.patch -Patch0021: 0021-linux-user-implement-FS_IOC_SETFLAG.patch -Patch0022: 0022-linux-user-XXX-disable-fiemap.patch -Patch0023: 0023-slirp-nooutgoing.patch -Patch0024: 0024-vnc-password-file-and-incoming-conn.patch -Patch0025: 0025-linux-user-add-more-blk-ioctls.patch -Patch0026: 0026-linux-user-use-target_ulong.patch -Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch -Patch0028: 0028-block-Add-tar-container-format.patch -Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch -Patch0030: 0030-console-add-question-mark-escape-op.patch -Patch0031: 0031-Make-char-muxer-more-robust-wrt-sma.patch -Patch0032: 0032-linux-user-lseek-explicitly-cast-no.patch -Patch0033: 0033-virtfs-proxy-helper-Provide-__u64-f.patch -Patch0034: 0034-configure-Enable-PIE-for-ppc-and-pp.patch -Patch0035: 0035-qtest-Increase-socket-timeout.patch -Patch0036: 0036-AIO-Reduce-number-of-threads-for-32.patch -Patch0037: 0037-configure-Enable-libseccomp-for-ppc.patch -Patch0038: 0038-dictzip-Fix-on-big-endian-systems.patch -Patch0039: 0039-block-split-large-discard-requests-.patch -Patch0040: 0040-xen_disk-Add-suse-specific-flush-di.patch -Patch0041: 0041-build-link-with-libatomic-on-powerp.patch -Patch0042: 0042-net-mipsnet-check-packet-length-aga.patch -Patch0043: 0043-i386-kvmvapic-initialise-imm32-vari.patch -Patch0044: 0044-esp-check-command-buffer-length-bef.patch -Patch0045: 0045-esp-check-dma-length-before-reading.patch -Patch0046: 0046-scsi-pvscsi-check-command-descripto.patch -Patch0047: 0047-scsi-mptsas-infinite-loop-while-fet.patch -Patch0048: 0048-vga-add-sr_vbe-register-set.patch -Patch0049: 0049-scsi-megasas-use-appropriate-proper.patch -Patch0050: 0050-scsi-megasas-check-read_queue_head-.patch -Patch0051: 0051-scsi-megasas-null-terminate-bios-ve.patch -Patch0052: 0052-vmsvga-move-fifo-sanity-checks-to-v.patch -Patch0053: 0053-vmsvga-don-t-process-more-than-1024.patch -Patch0054: 0054-block-iscsi-avoid-potential-overflo.patch -Patch0055: 0055-scsi-esp-check-TI-buffer-index-befo.patch -Patch0056: 0056-xen-introduce-dummy-system-device.patch -Patch0057: 0057-xen-write-information-about-support.patch -Patch0058: 0058-xen-add-pvUSB-backend.patch -Patch0059: 0059-usb-Fix-conditions-that-xen-usb.c-i.patch -Patch0060: 0060-vnc-add-configurable-keyboard-delay.patch -Patch0061: 0061-scsi-megasas-initialise-local-confi.patch +Patch0002: 0002-qemu-0.9.0.cvs-binfmt.patch +Patch0003: 0003-qemu-cvs-alsa_bitfield.patch +Patch0004: 0004-qemu-cvs-alsa_ioctl.patch +Patch0005: 0005-qemu-cvs-alsa_mmap.patch +Patch0006: 0006-qemu-cvs-gettimeofday.patch +Patch0007: 0007-qemu-cvs-ioctl_debug.patch +Patch0008: 0008-qemu-cvs-ioctl_nodirection.patch +Patch0009: 0009-block-vmdk-Support-creation-of-SCSI.patch +Patch0010: 0010-linux-user-add-binfmt-wrapper-for-a.patch +Patch0011: 0011-PPC-KVM-Disable-mmu-notifier-check.patch +Patch0012: 0012-linux-user-fix-segfault-deadlock.patch +Patch0013: 0013-linux-user-binfmt-support-host-bina.patch +Patch0014: 0014-linux-user-Ignore-broken-loop-ioctl.patch +Patch0015: 0015-linux-user-lock-tcg.patch +Patch0016: 0016-linux-user-Run-multi-threaded-code-.patch +Patch0017: 0017-linux-user-lock-tb-flushing-too.patch +Patch0018: 0018-linux-user-Fake-proc-cpuinfo.patch +Patch0019: 0019-linux-user-implement-FS_IOC_GETFLAG.patch +Patch0020: 0020-linux-user-implement-FS_IOC_SETFLAG.patch +Patch0021: 0021-linux-user-XXX-disable-fiemap.patch +Patch0022: 0022-slirp-nooutgoing.patch +Patch0023: 0023-vnc-password-file-and-incoming-conn.patch +Patch0024: 0024-linux-user-add-more-blk-ioctls.patch +Patch0025: 0025-linux-user-use-target_ulong.patch +Patch0026: 0026-block-Add-support-for-DictZip-enabl.patch +Patch0027: 0027-block-Add-tar-container-format.patch +Patch0028: 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch +Patch0029: 0029-console-add-question-mark-escape-op.patch +Patch0030: 0030-Make-char-muxer-more-robust-wrt-sma.patch +Patch0031: 0031-linux-user-lseek-explicitly-cast-no.patch +Patch0032: 0032-virtfs-proxy-helper-Provide-__u64-f.patch +Patch0033: 0033-configure-Enable-PIE-for-ppc-and-pp.patch +Patch0034: 0034-qtest-Increase-socket-timeout.patch +Patch0035: 0035-AIO-Reduce-number-of-threads-for-32.patch +Patch0036: 0036-configure-Enable-libseccomp-for-ppc.patch +Patch0037: 0037-dictzip-Fix-on-big-endian-systems.patch +Patch0038: 0038-block-split-large-discard-requests-.patch +Patch0039: 0039-xen_disk-Add-suse-specific-flush-di.patch +Patch0040: 0040-build-link-with-libatomic-on-powerp.patch +Patch0041: 0041-net-mipsnet-check-packet-length-aga.patch +Patch0042: 0042-i386-kvmvapic-initialise-imm32-vari.patch +Patch0043: 0043-esp-check-command-buffer-length-bef.patch +Patch0044: 0044-esp-check-dma-length-before-reading.patch +Patch0045: 0045-scsi-pvscsi-check-command-descripto.patch +Patch0046: 0046-scsi-mptsas-infinite-loop-while-fet.patch +Patch0047: 0047-vga-add-sr_vbe-register-set.patch +Patch0048: 0048-scsi-megasas-use-appropriate-proper.patch +Patch0049: 0049-scsi-megasas-check-read_queue_head-.patch +Patch0050: 0050-scsi-megasas-null-terminate-bios-ve.patch +Patch0051: 0051-vmsvga-move-fifo-sanity-checks-to-v.patch +Patch0052: 0052-vmsvga-don-t-process-more-than-1024.patch +Patch0053: 0053-block-iscsi-avoid-potential-overflo.patch +Patch0054: 0054-scsi-esp-check-TI-buffer-index-befo.patch +Patch0055: 0055-xen-introduce-dummy-system-device.patch +Patch0056: 0056-xen-write-information-about-support.patch +Patch0057: 0057-xen-add-pvUSB-backend.patch +Patch0058: 0058-xen-move-xen_sysdev-to-xen_backend..patch +Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch +Patch0060: 0060-scsi-megasas-initialise-local-confi.patch +Patch0061: 0061-configure-add-echo_version-helper.patch +Patch0062: 0062-configure-support-vte-2.91.patch +Patch0063: 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch +Patch0064: 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch +Patch0065: 0065-scsi-esp-check-buffer-length-before.patch +Patch0066: 0066-scsi-esp-respect-FIFO-invariant-aft.patch +Patch0067: 0067-pci-assign-Move-Invalid-ROM-error-m.patch +Patch0068: 0068-Xen-PCI-passthrough-fix-passthrough.patch +Patch0069: 0069-scsi-esp-make-cmdbuf-big-enough-for.patch +Patch0070: 0070-scsi-esp-fix-migration.patch +Patch0071: 0071-virtio-error-out-if-guest-exceeds-v.patch +Patch0072: 0072-xen-when-removing-a-backend-don-t-r.patch +Patch0073: 0073-xen-drain-submit-queue-in-xen-usb-b.patch +Patch0074: 0074-qcow2-avoid-extra-flushes-in-qcow2.patch +Patch0075: 0075-qemu-bridge-helper-reduce-security-.patch +Patch0076: 0076-xen-use-a-common-function-for-pv-an.patch # Please do not add patches manually here, run update_git.sh. # this is to make lint happy Source300: qemu-rpmlintrc @@ -200,6 +215,21 @@ run cross-architecture builds. %patch0059 -p1 %patch0060 -p1 %patch0061 -p1 +%patch0062 -p1 +%patch0063 -p1 +%patch0064 -p1 +%patch0065 -p1 +%patch0066 -p1 +%patch0067 -p1 +%patch0068 -p1 +%patch0069 -p1 +%patch0070 -p1 +%patch0071 -p1 +%patch0072 -p1 +%patch0073 -p1 +%patch0074 -p1 +%patch0075 -p1 +%patch0076 -p1 %build ./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \ diff --git a/qemu-testsuite.changes b/qemu-testsuite.changes index 71551775..46001cdf 100644 --- a/qemu-testsuite.changes +++ b/qemu-testsuite.changes @@ -1,3 +1,220 @@ +------------------------------------------------------------------- +Wed Aug 3 21:36:14 UTC 2016 - brogers@suse.com + +- Temporarily disable ceph (rbd) functionality in OBS due to staging + issues. + +------------------------------------------------------------------- +Wed Aug 3 17:09:05 UTC 2016 - brogers@suse.com + +- use upstream solution for building xen-usb.c correctly +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches dropped: + 0058-usb-Fix-conditions-that-xen-usb.c-i.patch +* Patches added: + 0058-xen-move-xen_sysdev-to-xen_backend..patch + +------------------------------------------------------------------- +Wed Aug 3 13:51:42 UTC 2016 - brogers@suse.com + +- Incorporate patch carried in Xen's qemu to get same support + as Xen switches to use the qemu package (bsc#953339, bsc#953362, + bsc#953518, bsc#984981) + 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch +- Fix more potential OOB accesses in 53C9X emulation + (CVE-2016-5238 bsc#982959) + 0065-scsi-esp-check-buffer-length-before.patch + 0066-scsi-esp-respect-FIFO-invariant-aft.patch +- Avoid "Invalid ROM" error message when it is not appropriate + (bsc#982927) + 0067-pci-assign-Move-Invalid-ROM-error-m.patch +- Fix failure in Xen HVM PCI passthrough (bsc#981925, bsc#989250) + 0068-Xen-PCI-passthrough-fix-passthrough.patch +- Fix OOB access in 53C9X emulation (CVE-2016-6351 bsc#990835) + 0069-scsi-esp-make-cmdbuf-big-enough-for.patch + 0070-scsi-esp-fix-migration.patch +- Avoid potential for guest initiated OOM condition in qemu through + virtio interface (CVE-2016-5403 bsc#991080) + 0071-virtio-error-out-if-guest-exceeds-v.patch +- Fix potential crashes in qemu from pvusb bugs (bsc#986156) + 0072-xen-when-removing-a-backend-don-t-r.patch + 0073-xen-drain-submit-queue-in-xen-usb-b.patch +- Avoid unneeded flushes in qcow2 which impact performance (bsc#991296) + 0074-qcow2-avoid-extra-flushes-in-qcow2.patch +- Finally get qemu-bridge-helper the permissions it needs for non- + root usage. The kvm group is leveraged to control access. (boo#988279) + 0075-qemu-bridge-helper-reduce-security-.patch +- Fix pvusb not working for HVM guests (bsc#991785) + 0076-xen-use-a-common-function-for-pv-an.patch +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +- Minor spec file formatting fixes + +------------------------------------------------------------------- +Thu Jul 28 10:53:14 UTC 2016 - agraf@suse.com + +- Fix ARM PCIe DMA coherency bug (bsc#991034) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch + +------------------------------------------------------------------- +Tue Jul 19 20:57:17 UTC 2016 - afaerber@suse.de + +- Clean up the udev ifdeffery to cover systemd as well (boo#860275) +- Trigger udev rules also under systemd (boo#989655) +- Suppress s390x sysctl in chroot +- Ignore s390x sysctl failures (agraf) + +------------------------------------------------------------------- +Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com + +- Build SLOF for SLE12 now that we have gcc fix (bsc#949000) +- Add script for loading kvm module on s390x +- Enable seccomp and iscsi support in more configurations +- Enable more support for virtio-gpu +- Fix /dev/kvm permissions problem with package install and no + reboot (bnc#867867) +- Remove libtool dependency +- Disable more aggressive stack protector for performance reasons +- Enable vte to be used again in more configurations (bsc#988855) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0061-configure-add-echo_version-helper.patch + 0062-configure-support-vte-2.91.patch + +------------------------------------------------------------------- +Thu Jul 14 14:59:37 UTC 2016 - agraf@suse.com + +- Remove deprecated patch "work-around-SA_RESTART-race" (boo#982208) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches dropped: + 0002-XXX-work-around-SA_RESTART-race-wit.patch + 0003-qemu-0.9.0.cvs-binfmt.patch + 0004-qemu-cvs-alsa_bitfield.patch + 0005-qemu-cvs-alsa_ioctl.patch + 0006-qemu-cvs-alsa_mmap.patch + 0007-qemu-cvs-gettimeofday.patch + 0008-qemu-cvs-ioctl_debug.patch + 0009-qemu-cvs-ioctl_nodirection.patch + 0010-block-vmdk-Support-creation-of-SCSI.patch + 0011-linux-user-add-binfmt-wrapper-for-a.patch + 0012-PPC-KVM-Disable-mmu-notifier-check.patch + 0013-linux-user-fix-segfault-deadlock.patch + 0014-linux-user-binfmt-support-host-bina.patch + 0015-linux-user-Ignore-broken-loop-ioctl.patch + 0016-linux-user-lock-tcg.patch + 0017-linux-user-Run-multi-threaded-code-.patch + 0018-linux-user-lock-tb-flushing-too.patch + 0019-linux-user-Fake-proc-cpuinfo.patch + 0020-linux-user-implement-FS_IOC_GETFLAG.patch + 0021-linux-user-implement-FS_IOC_SETFLAG.patch + 0022-linux-user-XXX-disable-fiemap.patch + 0023-slirp-nooutgoing.patch + 0024-vnc-password-file-and-incoming-conn.patch + 0025-linux-user-add-more-blk-ioctls.patch + 0026-linux-user-use-target_ulong.patch + 0027-block-Add-support-for-DictZip-enabl.patch + 0028-block-Add-tar-container-format.patch + 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch + 0030-console-add-question-mark-escape-op.patch + 0031-Make-char-muxer-more-robust-wrt-sma.patch + 0032-linux-user-lseek-explicitly-cast-no.patch + 0033-virtfs-proxy-helper-Provide-__u64-f.patch + 0034-configure-Enable-PIE-for-ppc-and-pp.patch + 0035-qtest-Increase-socket-timeout.patch + 0036-AIO-Reduce-number-of-threads-for-32.patch + 0037-configure-Enable-libseccomp-for-ppc.patch + 0038-dictzip-Fix-on-big-endian-systems.patch + 0039-block-split-large-discard-requests-.patch + 0040-xen_disk-Add-suse-specific-flush-di.patch + 0041-build-link-with-libatomic-on-powerp.patch + 0042-net-mipsnet-check-packet-length-aga.patch + 0043-i386-kvmvapic-initialise-imm32-vari.patch + 0044-esp-check-command-buffer-length-bef.patch + 0045-esp-check-dma-length-before-reading.patch + 0046-scsi-pvscsi-check-command-descripto.patch + 0047-scsi-mptsas-infinite-loop-while-fet.patch + 0048-vga-add-sr_vbe-register-set.patch + 0049-scsi-megasas-use-appropriate-proper.patch + 0050-scsi-megasas-check-read_queue_head-.patch + 0051-scsi-megasas-null-terminate-bios-ve.patch + 0052-vmsvga-move-fifo-sanity-checks-to-v.patch + 0053-vmsvga-don-t-process-more-than-1024.patch + 0054-block-iscsi-avoid-potential-overflo.patch + 0055-scsi-esp-check-TI-buffer-index-befo.patch + 0056-xen-introduce-dummy-system-device.patch + 0057-xen-write-information-about-support.patch + 0058-xen-add-pvUSB-backend.patch + 0059-usb-Fix-conditions-that-xen-usb.c-i.patch + 0060-vnc-add-configurable-keyboard-delay.patch + 0061-scsi-megasas-initialise-local-confi.patch +* Patches added: + 0002-qemu-0.9.0.cvs-binfmt.patch + 0003-qemu-cvs-alsa_bitfield.patch + 0004-qemu-cvs-alsa_ioctl.patch + 0005-qemu-cvs-alsa_mmap.patch + 0006-qemu-cvs-gettimeofday.patch + 0007-qemu-cvs-ioctl_debug.patch + 0008-qemu-cvs-ioctl_nodirection.patch + 0009-block-vmdk-Support-creation-of-SCSI.patch + 0010-linux-user-add-binfmt-wrapper-for-a.patch + 0011-PPC-KVM-Disable-mmu-notifier-check.patch + 0012-linux-user-fix-segfault-deadlock.patch + 0013-linux-user-binfmt-support-host-bina.patch + 0014-linux-user-Ignore-broken-loop-ioctl.patch + 0015-linux-user-lock-tcg.patch + 0016-linux-user-Run-multi-threaded-code-.patch + 0017-linux-user-lock-tb-flushing-too.patch + 0018-linux-user-Fake-proc-cpuinfo.patch + 0019-linux-user-implement-FS_IOC_GETFLAG.patch + 0020-linux-user-implement-FS_IOC_SETFLAG.patch + 0021-linux-user-XXX-disable-fiemap.patch + 0022-slirp-nooutgoing.patch + 0023-vnc-password-file-and-incoming-conn.patch + 0024-linux-user-add-more-blk-ioctls.patch + 0025-linux-user-use-target_ulong.patch + 0026-block-Add-support-for-DictZip-enabl.patch + 0027-block-Add-tar-container-format.patch + 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch + 0029-console-add-question-mark-escape-op.patch + 0030-Make-char-muxer-more-robust-wrt-sma.patch + 0031-linux-user-lseek-explicitly-cast-no.patch + 0032-virtfs-proxy-helper-Provide-__u64-f.patch + 0033-configure-Enable-PIE-for-ppc-and-pp.patch + 0034-qtest-Increase-socket-timeout.patch + 0035-AIO-Reduce-number-of-threads-for-32.patch + 0036-configure-Enable-libseccomp-for-ppc.patch + 0037-dictzip-Fix-on-big-endian-systems.patch + 0038-block-split-large-discard-requests-.patch + 0039-xen_disk-Add-suse-specific-flush-di.patch + 0040-build-link-with-libatomic-on-powerp.patch + 0041-net-mipsnet-check-packet-length-aga.patch + 0042-i386-kvmvapic-initialise-imm32-vari.patch + 0043-esp-check-command-buffer-length-bef.patch + 0044-esp-check-dma-length-before-reading.patch + 0045-scsi-pvscsi-check-command-descripto.patch + 0046-scsi-mptsas-infinite-loop-while-fet.patch + 0047-vga-add-sr_vbe-register-set.patch + 0048-scsi-megasas-use-appropriate-proper.patch + 0049-scsi-megasas-check-read_queue_head-.patch + 0050-scsi-megasas-null-terminate-bios-ve.patch + 0051-vmsvga-move-fifo-sanity-checks-to-v.patch + 0052-vmsvga-don-t-process-more-than-1024.patch + 0053-block-iscsi-avoid-potential-overflo.patch + 0054-scsi-esp-check-TI-buffer-index-befo.patch + 0055-xen-introduce-dummy-system-device.patch + 0056-xen-write-information-about-support.patch + 0057-xen-add-pvUSB-backend.patch + 0058-usb-Fix-conditions-that-xen-usb.c-i.patch + 0059-vnc-add-configurable-keyboard-delay.patch + 0060-scsi-megasas-initialise-local-confi.patch +- Enable ceph (rbd) support for aarch64 + +------------------------------------------------------------------- +Tue Jul 12 18:20:24 UTC 2016 - brogers@suse.com + +- Enable ceph (rbd) support + ------------------------------------------------------------------- Mon Jul 4 06:20:16 UTC 2016 - glin@suse.com diff --git a/qemu-testsuite.spec b/qemu-testsuite.spec index 3fababac..c45fb92b 100644 --- a/qemu-testsuite.spec +++ b/qemu-testsuite.spec @@ -28,9 +28,7 @@ %define build_slof_from_source 1 %endif %ifarch ppc64le -# Needs a compatible gcc (bsc#949000) -# TODO: include 1315 for SLE12 once possible -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %define build_slof_from_source 1 %endif %endif @@ -46,6 +44,28 @@ %endif %define noarch_supported 1110 +%if 0%{?is_opensuse} == 0 +%ifarch x86_64 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) ) +%define with_rbd 1 +%endif +%endif + +%ifarch aarch64 +%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 ) +%define with_rbd 1 +%endif +%endif +%endif + +%if 0%{?suse_version} > 1320 +%define with_seccomp 1 +%endif + +%ifarch %ix86 x86_64 +%define with_seccomp 1 +%endif + Name: qemu-testsuite Url: http://www.qemu.org/ Summary: Universal CPU emulator @@ -64,69 +84,85 @@ Source6: ksm.service Source7: 60-kvm.x86.rules Source8: 80-qemu-ga.rules Source9: qemu-ga.service +Source10: kvm.conf # Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch # This patch queue is auto-generated from https://github.com/openSUSE/qemu Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch -Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch -Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch -Patch0004: 0004-qemu-cvs-alsa_bitfield.patch -Patch0005: 0005-qemu-cvs-alsa_ioctl.patch -Patch0006: 0006-qemu-cvs-alsa_mmap.patch -Patch0007: 0007-qemu-cvs-gettimeofday.patch -Patch0008: 0008-qemu-cvs-ioctl_debug.patch -Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch -Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch -Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch -Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch -Patch0013: 0013-linux-user-fix-segfault-deadlock.patch -Patch0014: 0014-linux-user-binfmt-support-host-bina.patch -Patch0015: 0015-linux-user-Ignore-broken-loop-ioctl.patch -Patch0016: 0016-linux-user-lock-tcg.patch -Patch0017: 0017-linux-user-Run-multi-threaded-code-.patch -Patch0018: 0018-linux-user-lock-tb-flushing-too.patch -Patch0019: 0019-linux-user-Fake-proc-cpuinfo.patch -Patch0020: 0020-linux-user-implement-FS_IOC_GETFLAG.patch -Patch0021: 0021-linux-user-implement-FS_IOC_SETFLAG.patch -Patch0022: 0022-linux-user-XXX-disable-fiemap.patch -Patch0023: 0023-slirp-nooutgoing.patch -Patch0024: 0024-vnc-password-file-and-incoming-conn.patch -Patch0025: 0025-linux-user-add-more-blk-ioctls.patch -Patch0026: 0026-linux-user-use-target_ulong.patch -Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch -Patch0028: 0028-block-Add-tar-container-format.patch -Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch -Patch0030: 0030-console-add-question-mark-escape-op.patch -Patch0031: 0031-Make-char-muxer-more-robust-wrt-sma.patch -Patch0032: 0032-linux-user-lseek-explicitly-cast-no.patch -Patch0033: 0033-virtfs-proxy-helper-Provide-__u64-f.patch -Patch0034: 0034-configure-Enable-PIE-for-ppc-and-pp.patch -Patch0035: 0035-qtest-Increase-socket-timeout.patch -Patch0036: 0036-AIO-Reduce-number-of-threads-for-32.patch -Patch0037: 0037-configure-Enable-libseccomp-for-ppc.patch -Patch0038: 0038-dictzip-Fix-on-big-endian-systems.patch -Patch0039: 0039-block-split-large-discard-requests-.patch -Patch0040: 0040-xen_disk-Add-suse-specific-flush-di.patch -Patch0041: 0041-build-link-with-libatomic-on-powerp.patch -Patch0042: 0042-net-mipsnet-check-packet-length-aga.patch -Patch0043: 0043-i386-kvmvapic-initialise-imm32-vari.patch -Patch0044: 0044-esp-check-command-buffer-length-bef.patch -Patch0045: 0045-esp-check-dma-length-before-reading.patch -Patch0046: 0046-scsi-pvscsi-check-command-descripto.patch -Patch0047: 0047-scsi-mptsas-infinite-loop-while-fet.patch -Patch0048: 0048-vga-add-sr_vbe-register-set.patch -Patch0049: 0049-scsi-megasas-use-appropriate-proper.patch -Patch0050: 0050-scsi-megasas-check-read_queue_head-.patch -Patch0051: 0051-scsi-megasas-null-terminate-bios-ve.patch -Patch0052: 0052-vmsvga-move-fifo-sanity-checks-to-v.patch -Patch0053: 0053-vmsvga-don-t-process-more-than-1024.patch -Patch0054: 0054-block-iscsi-avoid-potential-overflo.patch -Patch0055: 0055-scsi-esp-check-TI-buffer-index-befo.patch -Patch0056: 0056-xen-introduce-dummy-system-device.patch -Patch0057: 0057-xen-write-information-about-support.patch -Patch0058: 0058-xen-add-pvUSB-backend.patch -Patch0059: 0059-usb-Fix-conditions-that-xen-usb.c-i.patch -Patch0060: 0060-vnc-add-configurable-keyboard-delay.patch -Patch0061: 0061-scsi-megasas-initialise-local-confi.patch +Patch0002: 0002-qemu-0.9.0.cvs-binfmt.patch +Patch0003: 0003-qemu-cvs-alsa_bitfield.patch +Patch0004: 0004-qemu-cvs-alsa_ioctl.patch +Patch0005: 0005-qemu-cvs-alsa_mmap.patch +Patch0006: 0006-qemu-cvs-gettimeofday.patch +Patch0007: 0007-qemu-cvs-ioctl_debug.patch +Patch0008: 0008-qemu-cvs-ioctl_nodirection.patch +Patch0009: 0009-block-vmdk-Support-creation-of-SCSI.patch +Patch0010: 0010-linux-user-add-binfmt-wrapper-for-a.patch +Patch0011: 0011-PPC-KVM-Disable-mmu-notifier-check.patch +Patch0012: 0012-linux-user-fix-segfault-deadlock.patch +Patch0013: 0013-linux-user-binfmt-support-host-bina.patch +Patch0014: 0014-linux-user-Ignore-broken-loop-ioctl.patch +Patch0015: 0015-linux-user-lock-tcg.patch +Patch0016: 0016-linux-user-Run-multi-threaded-code-.patch +Patch0017: 0017-linux-user-lock-tb-flushing-too.patch +Patch0018: 0018-linux-user-Fake-proc-cpuinfo.patch +Patch0019: 0019-linux-user-implement-FS_IOC_GETFLAG.patch +Patch0020: 0020-linux-user-implement-FS_IOC_SETFLAG.patch +Patch0021: 0021-linux-user-XXX-disable-fiemap.patch +Patch0022: 0022-slirp-nooutgoing.patch +Patch0023: 0023-vnc-password-file-and-incoming-conn.patch +Patch0024: 0024-linux-user-add-more-blk-ioctls.patch +Patch0025: 0025-linux-user-use-target_ulong.patch +Patch0026: 0026-block-Add-support-for-DictZip-enabl.patch +Patch0027: 0027-block-Add-tar-container-format.patch +Patch0028: 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch +Patch0029: 0029-console-add-question-mark-escape-op.patch +Patch0030: 0030-Make-char-muxer-more-robust-wrt-sma.patch +Patch0031: 0031-linux-user-lseek-explicitly-cast-no.patch +Patch0032: 0032-virtfs-proxy-helper-Provide-__u64-f.patch +Patch0033: 0033-configure-Enable-PIE-for-ppc-and-pp.patch +Patch0034: 0034-qtest-Increase-socket-timeout.patch +Patch0035: 0035-AIO-Reduce-number-of-threads-for-32.patch +Patch0036: 0036-configure-Enable-libseccomp-for-ppc.patch +Patch0037: 0037-dictzip-Fix-on-big-endian-systems.patch +Patch0038: 0038-block-split-large-discard-requests-.patch +Patch0039: 0039-xen_disk-Add-suse-specific-flush-di.patch +Patch0040: 0040-build-link-with-libatomic-on-powerp.patch +Patch0041: 0041-net-mipsnet-check-packet-length-aga.patch +Patch0042: 0042-i386-kvmvapic-initialise-imm32-vari.patch +Patch0043: 0043-esp-check-command-buffer-length-bef.patch +Patch0044: 0044-esp-check-dma-length-before-reading.patch +Patch0045: 0045-scsi-pvscsi-check-command-descripto.patch +Patch0046: 0046-scsi-mptsas-infinite-loop-while-fet.patch +Patch0047: 0047-vga-add-sr_vbe-register-set.patch +Patch0048: 0048-scsi-megasas-use-appropriate-proper.patch +Patch0049: 0049-scsi-megasas-check-read_queue_head-.patch +Patch0050: 0050-scsi-megasas-null-terminate-bios-ve.patch +Patch0051: 0051-vmsvga-move-fifo-sanity-checks-to-v.patch +Patch0052: 0052-vmsvga-don-t-process-more-than-1024.patch +Patch0053: 0053-block-iscsi-avoid-potential-overflo.patch +Patch0054: 0054-scsi-esp-check-TI-buffer-index-befo.patch +Patch0055: 0055-xen-introduce-dummy-system-device.patch +Patch0056: 0056-xen-write-information-about-support.patch +Patch0057: 0057-xen-add-pvUSB-backend.patch +Patch0058: 0058-xen-move-xen_sysdev-to-xen_backend..patch +Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch +Patch0060: 0060-scsi-megasas-initialise-local-confi.patch +Patch0061: 0061-configure-add-echo_version-helper.patch +Patch0062: 0062-configure-support-vte-2.91.patch +Patch0063: 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch +Patch0064: 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch +Patch0065: 0065-scsi-esp-check-buffer-length-before.patch +Patch0066: 0066-scsi-esp-respect-FIFO-invariant-aft.patch +Patch0067: 0067-pci-assign-Move-Invalid-ROM-error-m.patch +Patch0068: 0068-Xen-PCI-passthrough-fix-passthrough.patch +Patch0069: 0069-scsi-esp-make-cmdbuf-big-enough-for.patch +Patch0070: 0070-scsi-esp-fix-migration.patch +Patch0071: 0071-virtio-error-out-if-guest-exceeds-v.patch +Patch0072: 0072-xen-when-removing-a-backend-don-t-r.patch +Patch0073: 0073-xen-drain-submit-queue-in-xen-usb-b.patch +Patch0074: 0074-qcow2-avoid-extra-flushes-in-qcow2.patch +Patch0075: 0075-qemu-bridge-helper-reduce-security-.patch +Patch0076: 0076-xen-use-a-common-function-for-pv-an.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -189,7 +225,7 @@ BuildRequires: libcacard-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: libdrm-devel -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libepoxy-devel %endif %if 0%{?suse_version} >= 1310 @@ -202,7 +238,14 @@ BuildRequires: libgnutls-devel %if 0%{?suse_version} >= 1315 BuildRequires: libibverbs-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_rbd} +%if 0%{?is_opensuse} +BuildRequires: librbd-devel +%else +BuildRequires: ceph-devel +%endif +%endif +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libiscsi-devel %endif BuildRequires: libjpeg-devel @@ -225,13 +268,12 @@ BuildRequires: libpulse-devel %if 0%{?suse_version} >= 1315 BuildRequires: librdmacm-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} BuildRequires: libseccomp-devel %endif %if 0%{?suse_version} > 1140 BuildRequires: libssh2-devel %endif -BuildRequires: libtool %if 0%{?suse_version} > 1310 BuildRequires: libusb-1_0-devel %endif @@ -240,6 +282,7 @@ BuildRequires: lzo-devel %if 0%{?suse_version} > 1220 BuildRequires: makeinfo %endif +BuildRequires: Mesa-devel BuildRequires: mozilla-nss-devel BuildRequires: ncurses-devel %if 0%{?build_x86_fw_from_source} @@ -267,7 +310,7 @@ BuildRequires: pkgconfig(udev) %if 0%{?sles_version} != 11 BuildRequires: usbredir-devel %endif -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: virglrenderer-devel >= 0.4.1 %endif %if 0%{?suse_version} >= 1210 @@ -332,9 +375,12 @@ Suggests: qemu-block-dmg %if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 Suggests: qemu-block-gluster %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) Suggests: qemu-block-iscsi %endif +%if 0%{?with_rbd} +Suggests: qemu-block-rbd +%endif %if 0%{?suse_version} > 1140 Suggests: qemu-block-ssh %endif @@ -348,11 +394,11 @@ Recommends: qemu-ksm = %{version} %define x86_64_only_b_f_f {efi-e1000.rom efi-eepro100.rom \ efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom} %endif -%define built_firmware_files {bios.bin bios-256k.bin \ -sgabios.bin vgabios.bin vgabios-cirrus.bin \ -vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin vgabios-qxl.bin \ -optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin \ -pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}} +%define built_firmware_files {bios.bin bios-256k.bin sgabios.bin vgabios.bin \ +vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin \ +vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin \ +optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom \ +pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}} %description QEMU is an extremely well-performing CPU emulator that allows you to @@ -533,7 +579,7 @@ This sub-package contains a module for accessing network-based image files over a GlusterFS network connection from qemu-img tool and QEMU system emulation. %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %package block-iscsi Summary: Universal CPU emulator -- iSCSI block support Group: System/Emulators/PC @@ -550,6 +596,23 @@ This sub-package contains a module for accessing network-based image files over an iSCSI network connection from qemu-img tool and QEMU system emulation. %endif +%if 0%{?with_rbd} +%package block-rbd +Summary: Universal CPU emulator -- Ceph (rbd) block support +Group: System/Emulators/PC +%{qemu_module_conflicts} + +%description block-rbd +QEMU is an extremely well-performing CPU emulator that allows you to +choose between simulating an entire system and running userspace +binaries for different architectures under your native operating +system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well +as PC and PowerMac systems. + +This sub-package contains a module for accessing ceph (rbd,rados) +image files. +%endif + %if 0%{?suse_version} > 1140 %package block-ssh Summary: Universal CPU emulator -- SSH block support @@ -573,6 +636,9 @@ Group: System/Emulators/PC Provides: qemu:%_libexecdir/qemu-bridge-helper PreReq: permissions Recommends: qemu-block-curl +%if 0%{?with_rbd} +Recommends: qemu-block-rbd +%endif %description tools QEMU is an extremely well-performing CPU emulator that allows you to @@ -738,6 +804,21 @@ This package provides a service file for starting and stopping KSM. %patch0059 -p1 %patch0060 -p1 %patch0061 -p1 +%patch0062 -p1 +%patch0063 -p1 +%patch0064 -p1 +%patch0065 -p1 +%patch0066 -p1 +%patch0067 -p1 +%patch0068 -p1 +%patch0069 -p1 +%patch0070 -p1 +%patch0071 -p1 +%patch0072 -p1 +%patch0073 -p1 +%patch0074 -p1 +%patch0075 -p1 +%patch0076 -p1 %if %{build_x86_fw_from_source} pushd roms/seabios @@ -774,6 +855,7 @@ rm -f pc-bios/slof.bin --libexecdir=%_libexecdir \ --localstatedir=%_localstatedir \ --extra-cflags="%{optflags}" \ + --disable-stack-protector \ --disable-strip \ --with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \ --enable-system --disable-linux-user \ @@ -818,7 +900,7 @@ rm -f pc-bios/slof.bin %else --disable-kvm \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) --enable-libiscsi \ %else --disable-libiscsi \ @@ -850,7 +932,14 @@ rm -f pc-bios/slof.bin --enable-numa \ %endif %endif +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-opengl \ +%endif +%if 0%{?with_rbd} + --enable-rbd \ +%else --disable-rbd \ +%endif %if 0%{?suse_version} >= 1315 --enable-rdma \ %else @@ -862,7 +951,7 @@ rm -f pc-bios/slof.bin %else --with-sdlabi=1.2 \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} --enable-seccomp \ %else --disable-seccomp \ @@ -892,15 +981,17 @@ rm -f pc-bios/slof.bin --enable-vde \ --enable-vhdx \ --enable-vhost-net \ -%if 0%{?suse_version} >= 1320 - --enable-virglrenderer \ +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-virglrenderer \ %endif --enable-virtfs \ --enable-vnc \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ -%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0) +%if 0%{?suse_version} == 1320 + --disable-vte \ +%else --enable-vte \ %endif %ifarch x86_64 @@ -910,7 +1001,7 @@ rm -f pc-bios/slof.bin %else --disable-xen \ %endif - --enable-xfsctl \ + --enable-xfsctl \ %if "%{name}" != "qemu-testsuite" @@ -951,7 +1042,7 @@ for conf in default-configs/*-softmmu.mak; do done # Compile the QOM test binary first, so that ... -make tests/qom-test %{?_smp_mflags} V=1 +make tests/qom-test %{?_smp_mflags} V=1 # ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379) %if 0%{?suse_version} >= 1310 make check-report.html V=1 @@ -1049,6 +1140,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules %if 0%{?with_systemd} install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service +%ifarch s390x +install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf +%endif %endif %fdupes -s $RPM_BUILD_ROOT @@ -1072,17 +1166,20 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml %if %{kvm_available} %post +# Do not execute operations affecting host devices while running in a chroot +if [ $(stat -L -c "%i" /proc/1/root/) = $(stat -L -c "%i" /) ]; then + setfacl --remove-all /dev/kvm &> /dev/null || : %if 0%{?with_systemd} -%udev_rules_update + %udev_rules_update + %_bindir/udevadm trigger || : %else -if [ "$(readlink -f /proc/1/root)" = "/" ]; then /sbin/udevadm control --reload-rules || : /sbin/udevadm trigger || : -fi %endif %ifarch s390x -sysctl vm.allocate_pgste=1 + sysctl vm.allocate_pgste=1 || : %endif +fi %endif %if 0%{?suse_version} >= 1130 @@ -1146,6 +1243,9 @@ fi %endif %ifarch s390x %{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x +%if 0%{?with_systemd} +%_libexecdir/modules-load.d/kvm.conf +%endif %endif %endif @@ -1232,12 +1332,19 @@ fi %_libdir/%name/block-gluster.so %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %files block-iscsi %defattr(-, root, root) %_libdir/%name/block-iscsi.so %endif +%if 0%{?with_rbd} +%files block-rbd +%defattr(-, root, root) +%dir %_libdir/%name +%_libdir/%name/block-rbd.so +%endif + %if 0%{?suse_version} > 1140 %files block-ssh %defattr(-, root, root) @@ -1295,7 +1402,7 @@ fi %_bindir/qemu-nbd %_bindir/virtfs-proxy-helper #%_bindir/vscclient -%verify(not mode) %_libexecdir/qemu-bridge-helper +%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper %dir %_sysconfdir/%name %config %_sysconfdir/%name/bridge.conf %dir %_libdir/%name diff --git a/qemu.changes b/qemu.changes index 71551775..46001cdf 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,220 @@ +------------------------------------------------------------------- +Wed Aug 3 21:36:14 UTC 2016 - brogers@suse.com + +- Temporarily disable ceph (rbd) functionality in OBS due to staging + issues. + +------------------------------------------------------------------- +Wed Aug 3 17:09:05 UTC 2016 - brogers@suse.com + +- use upstream solution for building xen-usb.c correctly +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches dropped: + 0058-usb-Fix-conditions-that-xen-usb.c-i.patch +* Patches added: + 0058-xen-move-xen_sysdev-to-xen_backend..patch + +------------------------------------------------------------------- +Wed Aug 3 13:51:42 UTC 2016 - brogers@suse.com + +- Incorporate patch carried in Xen's qemu to get same support + as Xen switches to use the qemu package (bsc#953339, bsc#953362, + bsc#953518, bsc#984981) + 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch +- Fix more potential OOB accesses in 53C9X emulation + (CVE-2016-5238 bsc#982959) + 0065-scsi-esp-check-buffer-length-before.patch + 0066-scsi-esp-respect-FIFO-invariant-aft.patch +- Avoid "Invalid ROM" error message when it is not appropriate + (bsc#982927) + 0067-pci-assign-Move-Invalid-ROM-error-m.patch +- Fix failure in Xen HVM PCI passthrough (bsc#981925, bsc#989250) + 0068-Xen-PCI-passthrough-fix-passthrough.patch +- Fix OOB access in 53C9X emulation (CVE-2016-6351 bsc#990835) + 0069-scsi-esp-make-cmdbuf-big-enough-for.patch + 0070-scsi-esp-fix-migration.patch +- Avoid potential for guest initiated OOM condition in qemu through + virtio interface (CVE-2016-5403 bsc#991080) + 0071-virtio-error-out-if-guest-exceeds-v.patch +- Fix potential crashes in qemu from pvusb bugs (bsc#986156) + 0072-xen-when-removing-a-backend-don-t-r.patch + 0073-xen-drain-submit-queue-in-xen-usb-b.patch +- Avoid unneeded flushes in qcow2 which impact performance (bsc#991296) + 0074-qcow2-avoid-extra-flushes-in-qcow2.patch +- Finally get qemu-bridge-helper the permissions it needs for non- + root usage. The kvm group is leveraged to control access. (boo#988279) + 0075-qemu-bridge-helper-reduce-security-.patch +- Fix pvusb not working for HVM guests (bsc#991785) + 0076-xen-use-a-common-function-for-pv-an.patch +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +- Minor spec file formatting fixes + +------------------------------------------------------------------- +Thu Jul 28 10:53:14 UTC 2016 - agraf@suse.com + +- Fix ARM PCIe DMA coherency bug (bsc#991034) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch + +------------------------------------------------------------------- +Tue Jul 19 20:57:17 UTC 2016 - afaerber@suse.de + +- Clean up the udev ifdeffery to cover systemd as well (boo#860275) +- Trigger udev rules also under systemd (boo#989655) +- Suppress s390x sysctl in chroot +- Ignore s390x sysctl failures (agraf) + +------------------------------------------------------------------- +Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com + +- Build SLOF for SLE12 now that we have gcc fix (bsc#949000) +- Add script for loading kvm module on s390x +- Enable seccomp and iscsi support in more configurations +- Enable more support for virtio-gpu +- Fix /dev/kvm permissions problem with package install and no + reboot (bnc#867867) +- Remove libtool dependency +- Disable more aggressive stack protector for performance reasons +- Enable vte to be used again in more configurations (bsc#988855) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0061-configure-add-echo_version-helper.patch + 0062-configure-support-vte-2.91.patch + +------------------------------------------------------------------- +Thu Jul 14 14:59:37 UTC 2016 - agraf@suse.com + +- Remove deprecated patch "work-around-SA_RESTART-race" (boo#982208) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches dropped: + 0002-XXX-work-around-SA_RESTART-race-wit.patch + 0003-qemu-0.9.0.cvs-binfmt.patch + 0004-qemu-cvs-alsa_bitfield.patch + 0005-qemu-cvs-alsa_ioctl.patch + 0006-qemu-cvs-alsa_mmap.patch + 0007-qemu-cvs-gettimeofday.patch + 0008-qemu-cvs-ioctl_debug.patch + 0009-qemu-cvs-ioctl_nodirection.patch + 0010-block-vmdk-Support-creation-of-SCSI.patch + 0011-linux-user-add-binfmt-wrapper-for-a.patch + 0012-PPC-KVM-Disable-mmu-notifier-check.patch + 0013-linux-user-fix-segfault-deadlock.patch + 0014-linux-user-binfmt-support-host-bina.patch + 0015-linux-user-Ignore-broken-loop-ioctl.patch + 0016-linux-user-lock-tcg.patch + 0017-linux-user-Run-multi-threaded-code-.patch + 0018-linux-user-lock-tb-flushing-too.patch + 0019-linux-user-Fake-proc-cpuinfo.patch + 0020-linux-user-implement-FS_IOC_GETFLAG.patch + 0021-linux-user-implement-FS_IOC_SETFLAG.patch + 0022-linux-user-XXX-disable-fiemap.patch + 0023-slirp-nooutgoing.patch + 0024-vnc-password-file-and-incoming-conn.patch + 0025-linux-user-add-more-blk-ioctls.patch + 0026-linux-user-use-target_ulong.patch + 0027-block-Add-support-for-DictZip-enabl.patch + 0028-block-Add-tar-container-format.patch + 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch + 0030-console-add-question-mark-escape-op.patch + 0031-Make-char-muxer-more-robust-wrt-sma.patch + 0032-linux-user-lseek-explicitly-cast-no.patch + 0033-virtfs-proxy-helper-Provide-__u64-f.patch + 0034-configure-Enable-PIE-for-ppc-and-pp.patch + 0035-qtest-Increase-socket-timeout.patch + 0036-AIO-Reduce-number-of-threads-for-32.patch + 0037-configure-Enable-libseccomp-for-ppc.patch + 0038-dictzip-Fix-on-big-endian-systems.patch + 0039-block-split-large-discard-requests-.patch + 0040-xen_disk-Add-suse-specific-flush-di.patch + 0041-build-link-with-libatomic-on-powerp.patch + 0042-net-mipsnet-check-packet-length-aga.patch + 0043-i386-kvmvapic-initialise-imm32-vari.patch + 0044-esp-check-command-buffer-length-bef.patch + 0045-esp-check-dma-length-before-reading.patch + 0046-scsi-pvscsi-check-command-descripto.patch + 0047-scsi-mptsas-infinite-loop-while-fet.patch + 0048-vga-add-sr_vbe-register-set.patch + 0049-scsi-megasas-use-appropriate-proper.patch + 0050-scsi-megasas-check-read_queue_head-.patch + 0051-scsi-megasas-null-terminate-bios-ve.patch + 0052-vmsvga-move-fifo-sanity-checks-to-v.patch + 0053-vmsvga-don-t-process-more-than-1024.patch + 0054-block-iscsi-avoid-potential-overflo.patch + 0055-scsi-esp-check-TI-buffer-index-befo.patch + 0056-xen-introduce-dummy-system-device.patch + 0057-xen-write-information-about-support.patch + 0058-xen-add-pvUSB-backend.patch + 0059-usb-Fix-conditions-that-xen-usb.c-i.patch + 0060-vnc-add-configurable-keyboard-delay.patch + 0061-scsi-megasas-initialise-local-confi.patch +* Patches added: + 0002-qemu-0.9.0.cvs-binfmt.patch + 0003-qemu-cvs-alsa_bitfield.patch + 0004-qemu-cvs-alsa_ioctl.patch + 0005-qemu-cvs-alsa_mmap.patch + 0006-qemu-cvs-gettimeofday.patch + 0007-qemu-cvs-ioctl_debug.patch + 0008-qemu-cvs-ioctl_nodirection.patch + 0009-block-vmdk-Support-creation-of-SCSI.patch + 0010-linux-user-add-binfmt-wrapper-for-a.patch + 0011-PPC-KVM-Disable-mmu-notifier-check.patch + 0012-linux-user-fix-segfault-deadlock.patch + 0013-linux-user-binfmt-support-host-bina.patch + 0014-linux-user-Ignore-broken-loop-ioctl.patch + 0015-linux-user-lock-tcg.patch + 0016-linux-user-Run-multi-threaded-code-.patch + 0017-linux-user-lock-tb-flushing-too.patch + 0018-linux-user-Fake-proc-cpuinfo.patch + 0019-linux-user-implement-FS_IOC_GETFLAG.patch + 0020-linux-user-implement-FS_IOC_SETFLAG.patch + 0021-linux-user-XXX-disable-fiemap.patch + 0022-slirp-nooutgoing.patch + 0023-vnc-password-file-and-incoming-conn.patch + 0024-linux-user-add-more-blk-ioctls.patch + 0025-linux-user-use-target_ulong.patch + 0026-block-Add-support-for-DictZip-enabl.patch + 0027-block-Add-tar-container-format.patch + 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch + 0029-console-add-question-mark-escape-op.patch + 0030-Make-char-muxer-more-robust-wrt-sma.patch + 0031-linux-user-lseek-explicitly-cast-no.patch + 0032-virtfs-proxy-helper-Provide-__u64-f.patch + 0033-configure-Enable-PIE-for-ppc-and-pp.patch + 0034-qtest-Increase-socket-timeout.patch + 0035-AIO-Reduce-number-of-threads-for-32.patch + 0036-configure-Enable-libseccomp-for-ppc.patch + 0037-dictzip-Fix-on-big-endian-systems.patch + 0038-block-split-large-discard-requests-.patch + 0039-xen_disk-Add-suse-specific-flush-di.patch + 0040-build-link-with-libatomic-on-powerp.patch + 0041-net-mipsnet-check-packet-length-aga.patch + 0042-i386-kvmvapic-initialise-imm32-vari.patch + 0043-esp-check-command-buffer-length-bef.patch + 0044-esp-check-dma-length-before-reading.patch + 0045-scsi-pvscsi-check-command-descripto.patch + 0046-scsi-mptsas-infinite-loop-while-fet.patch + 0047-vga-add-sr_vbe-register-set.patch + 0048-scsi-megasas-use-appropriate-proper.patch + 0049-scsi-megasas-check-read_queue_head-.patch + 0050-scsi-megasas-null-terminate-bios-ve.patch + 0051-vmsvga-move-fifo-sanity-checks-to-v.patch + 0052-vmsvga-don-t-process-more-than-1024.patch + 0053-block-iscsi-avoid-potential-overflo.patch + 0054-scsi-esp-check-TI-buffer-index-befo.patch + 0055-xen-introduce-dummy-system-device.patch + 0056-xen-write-information-about-support.patch + 0057-xen-add-pvUSB-backend.patch + 0058-usb-Fix-conditions-that-xen-usb.c-i.patch + 0059-vnc-add-configurable-keyboard-delay.patch + 0060-scsi-megasas-initialise-local-confi.patch +- Enable ceph (rbd) support for aarch64 + +------------------------------------------------------------------- +Tue Jul 12 18:20:24 UTC 2016 - brogers@suse.com + +- Enable ceph (rbd) support + ------------------------------------------------------------------- Mon Jul 4 06:20:16 UTC 2016 - glin@suse.com diff --git a/qemu.spec b/qemu.spec index 19bb6019..8a659c09 100644 --- a/qemu.spec +++ b/qemu.spec @@ -28,9 +28,7 @@ %define build_slof_from_source 1 %endif %ifarch ppc64le -# Needs a compatible gcc (bsc#949000) -# TODO: include 1315 for SLE12 once possible -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %define build_slof_from_source 1 %endif %endif @@ -46,6 +44,28 @@ %endif %define noarch_supported 1110 +%if 0%{?is_opensuse} == 0 +%ifarch x86_64 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) ) +%define with_rbd 1 +%endif +%endif + +%ifarch aarch64 +%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 ) +%define with_rbd 1 +%endif +%endif +%endif + +%if 0%{?suse_version} > 1320 +%define with_seccomp 1 +%endif + +%ifarch %ix86 x86_64 +%define with_seccomp 1 +%endif + Name: qemu Url: http://www.qemu.org/ Summary: Universal CPU emulator @@ -64,69 +84,85 @@ Source6: ksm.service Source7: 60-kvm.x86.rules Source8: 80-qemu-ga.rules Source9: qemu-ga.service +Source10: kvm.conf # Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch # This patch queue is auto-generated from https://github.com/openSUSE/qemu Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch -Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch -Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch -Patch0004: 0004-qemu-cvs-alsa_bitfield.patch -Patch0005: 0005-qemu-cvs-alsa_ioctl.patch -Patch0006: 0006-qemu-cvs-alsa_mmap.patch -Patch0007: 0007-qemu-cvs-gettimeofday.patch -Patch0008: 0008-qemu-cvs-ioctl_debug.patch -Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch -Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch -Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch -Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch -Patch0013: 0013-linux-user-fix-segfault-deadlock.patch -Patch0014: 0014-linux-user-binfmt-support-host-bina.patch -Patch0015: 0015-linux-user-Ignore-broken-loop-ioctl.patch -Patch0016: 0016-linux-user-lock-tcg.patch -Patch0017: 0017-linux-user-Run-multi-threaded-code-.patch -Patch0018: 0018-linux-user-lock-tb-flushing-too.patch -Patch0019: 0019-linux-user-Fake-proc-cpuinfo.patch -Patch0020: 0020-linux-user-implement-FS_IOC_GETFLAG.patch -Patch0021: 0021-linux-user-implement-FS_IOC_SETFLAG.patch -Patch0022: 0022-linux-user-XXX-disable-fiemap.patch -Patch0023: 0023-slirp-nooutgoing.patch -Patch0024: 0024-vnc-password-file-and-incoming-conn.patch -Patch0025: 0025-linux-user-add-more-blk-ioctls.patch -Patch0026: 0026-linux-user-use-target_ulong.patch -Patch0027: 0027-block-Add-support-for-DictZip-enabl.patch -Patch0028: 0028-block-Add-tar-container-format.patch -Patch0029: 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch -Patch0030: 0030-console-add-question-mark-escape-op.patch -Patch0031: 0031-Make-char-muxer-more-robust-wrt-sma.patch -Patch0032: 0032-linux-user-lseek-explicitly-cast-no.patch -Patch0033: 0033-virtfs-proxy-helper-Provide-__u64-f.patch -Patch0034: 0034-configure-Enable-PIE-for-ppc-and-pp.patch -Patch0035: 0035-qtest-Increase-socket-timeout.patch -Patch0036: 0036-AIO-Reduce-number-of-threads-for-32.patch -Patch0037: 0037-configure-Enable-libseccomp-for-ppc.patch -Patch0038: 0038-dictzip-Fix-on-big-endian-systems.patch -Patch0039: 0039-block-split-large-discard-requests-.patch -Patch0040: 0040-xen_disk-Add-suse-specific-flush-di.patch -Patch0041: 0041-build-link-with-libatomic-on-powerp.patch -Patch0042: 0042-net-mipsnet-check-packet-length-aga.patch -Patch0043: 0043-i386-kvmvapic-initialise-imm32-vari.patch -Patch0044: 0044-esp-check-command-buffer-length-bef.patch -Patch0045: 0045-esp-check-dma-length-before-reading.patch -Patch0046: 0046-scsi-pvscsi-check-command-descripto.patch -Patch0047: 0047-scsi-mptsas-infinite-loop-while-fet.patch -Patch0048: 0048-vga-add-sr_vbe-register-set.patch -Patch0049: 0049-scsi-megasas-use-appropriate-proper.patch -Patch0050: 0050-scsi-megasas-check-read_queue_head-.patch -Patch0051: 0051-scsi-megasas-null-terminate-bios-ve.patch -Patch0052: 0052-vmsvga-move-fifo-sanity-checks-to-v.patch -Patch0053: 0053-vmsvga-don-t-process-more-than-1024.patch -Patch0054: 0054-block-iscsi-avoid-potential-overflo.patch -Patch0055: 0055-scsi-esp-check-TI-buffer-index-befo.patch -Patch0056: 0056-xen-introduce-dummy-system-device.patch -Patch0057: 0057-xen-write-information-about-support.patch -Patch0058: 0058-xen-add-pvUSB-backend.patch -Patch0059: 0059-usb-Fix-conditions-that-xen-usb.c-i.patch -Patch0060: 0060-vnc-add-configurable-keyboard-delay.patch -Patch0061: 0061-scsi-megasas-initialise-local-confi.patch +Patch0002: 0002-qemu-0.9.0.cvs-binfmt.patch +Patch0003: 0003-qemu-cvs-alsa_bitfield.patch +Patch0004: 0004-qemu-cvs-alsa_ioctl.patch +Patch0005: 0005-qemu-cvs-alsa_mmap.patch +Patch0006: 0006-qemu-cvs-gettimeofday.patch +Patch0007: 0007-qemu-cvs-ioctl_debug.patch +Patch0008: 0008-qemu-cvs-ioctl_nodirection.patch +Patch0009: 0009-block-vmdk-Support-creation-of-SCSI.patch +Patch0010: 0010-linux-user-add-binfmt-wrapper-for-a.patch +Patch0011: 0011-PPC-KVM-Disable-mmu-notifier-check.patch +Patch0012: 0012-linux-user-fix-segfault-deadlock.patch +Patch0013: 0013-linux-user-binfmt-support-host-bina.patch +Patch0014: 0014-linux-user-Ignore-broken-loop-ioctl.patch +Patch0015: 0015-linux-user-lock-tcg.patch +Patch0016: 0016-linux-user-Run-multi-threaded-code-.patch +Patch0017: 0017-linux-user-lock-tb-flushing-too.patch +Patch0018: 0018-linux-user-Fake-proc-cpuinfo.patch +Patch0019: 0019-linux-user-implement-FS_IOC_GETFLAG.patch +Patch0020: 0020-linux-user-implement-FS_IOC_SETFLAG.patch +Patch0021: 0021-linux-user-XXX-disable-fiemap.patch +Patch0022: 0022-slirp-nooutgoing.patch +Patch0023: 0023-vnc-password-file-and-incoming-conn.patch +Patch0024: 0024-linux-user-add-more-blk-ioctls.patch +Patch0025: 0025-linux-user-use-target_ulong.patch +Patch0026: 0026-block-Add-support-for-DictZip-enabl.patch +Patch0027: 0027-block-Add-tar-container-format.patch +Patch0028: 0028-Legacy-Patch-kvm-qemu-preXX-dictzip.patch +Patch0029: 0029-console-add-question-mark-escape-op.patch +Patch0030: 0030-Make-char-muxer-more-robust-wrt-sma.patch +Patch0031: 0031-linux-user-lseek-explicitly-cast-no.patch +Patch0032: 0032-virtfs-proxy-helper-Provide-__u64-f.patch +Patch0033: 0033-configure-Enable-PIE-for-ppc-and-pp.patch +Patch0034: 0034-qtest-Increase-socket-timeout.patch +Patch0035: 0035-AIO-Reduce-number-of-threads-for-32.patch +Patch0036: 0036-configure-Enable-libseccomp-for-ppc.patch +Patch0037: 0037-dictzip-Fix-on-big-endian-systems.patch +Patch0038: 0038-block-split-large-discard-requests-.patch +Patch0039: 0039-xen_disk-Add-suse-specific-flush-di.patch +Patch0040: 0040-build-link-with-libatomic-on-powerp.patch +Patch0041: 0041-net-mipsnet-check-packet-length-aga.patch +Patch0042: 0042-i386-kvmvapic-initialise-imm32-vari.patch +Patch0043: 0043-esp-check-command-buffer-length-bef.patch +Patch0044: 0044-esp-check-dma-length-before-reading.patch +Patch0045: 0045-scsi-pvscsi-check-command-descripto.patch +Patch0046: 0046-scsi-mptsas-infinite-loop-while-fet.patch +Patch0047: 0047-vga-add-sr_vbe-register-set.patch +Patch0048: 0048-scsi-megasas-use-appropriate-proper.patch +Patch0049: 0049-scsi-megasas-check-read_queue_head-.patch +Patch0050: 0050-scsi-megasas-null-terminate-bios-ve.patch +Patch0051: 0051-vmsvga-move-fifo-sanity-checks-to-v.patch +Patch0052: 0052-vmsvga-don-t-process-more-than-1024.patch +Patch0053: 0053-block-iscsi-avoid-potential-overflo.patch +Patch0054: 0054-scsi-esp-check-TI-buffer-index-befo.patch +Patch0055: 0055-xen-introduce-dummy-system-device.patch +Patch0056: 0056-xen-write-information-about-support.patch +Patch0057: 0057-xen-add-pvUSB-backend.patch +Patch0058: 0058-xen-move-xen_sysdev-to-xen_backend..patch +Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch +Patch0060: 0060-scsi-megasas-initialise-local-confi.patch +Patch0061: 0061-configure-add-echo_version-helper.patch +Patch0062: 0062-configure-support-vte-2.91.patch +Patch0063: 0063-hw-arm-virt-mark-the-PCIe-host-cont.patch +Patch0064: 0064-xen-SUSE-xenlinux-unplug-for-emulat.patch +Patch0065: 0065-scsi-esp-check-buffer-length-before.patch +Patch0066: 0066-scsi-esp-respect-FIFO-invariant-aft.patch +Patch0067: 0067-pci-assign-Move-Invalid-ROM-error-m.patch +Patch0068: 0068-Xen-PCI-passthrough-fix-passthrough.patch +Patch0069: 0069-scsi-esp-make-cmdbuf-big-enough-for.patch +Patch0070: 0070-scsi-esp-fix-migration.patch +Patch0071: 0071-virtio-error-out-if-guest-exceeds-v.patch +Patch0072: 0072-xen-when-removing-a-backend-don-t-r.patch +Patch0073: 0073-xen-drain-submit-queue-in-xen-usb-b.patch +Patch0074: 0074-qcow2-avoid-extra-flushes-in-qcow2.patch +Patch0075: 0075-qemu-bridge-helper-reduce-security-.patch +Patch0076: 0076-xen-use-a-common-function-for-pv-an.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -189,7 +225,7 @@ BuildRequires: libcacard-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: libdrm-devel -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libepoxy-devel %endif %if 0%{?suse_version} >= 1310 @@ -202,7 +238,14 @@ BuildRequires: libgnutls-devel %if 0%{?suse_version} >= 1315 BuildRequires: libibverbs-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_rbd} +%if 0%{?is_opensuse} +BuildRequires: librbd-devel +%else +BuildRequires: ceph-devel +%endif +%endif +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libiscsi-devel %endif BuildRequires: libjpeg-devel @@ -225,13 +268,12 @@ BuildRequires: libpulse-devel %if 0%{?suse_version} >= 1315 BuildRequires: librdmacm-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} BuildRequires: libseccomp-devel %endif %if 0%{?suse_version} > 1140 BuildRequires: libssh2-devel %endif -BuildRequires: libtool %if 0%{?suse_version} > 1310 BuildRequires: libusb-1_0-devel %endif @@ -240,6 +282,7 @@ BuildRequires: lzo-devel %if 0%{?suse_version} > 1220 BuildRequires: makeinfo %endif +BuildRequires: Mesa-devel BuildRequires: mozilla-nss-devel BuildRequires: ncurses-devel %if 0%{?build_x86_fw_from_source} @@ -267,7 +310,7 @@ BuildRequires: pkgconfig(udev) %if 0%{?sles_version} != 11 BuildRequires: usbredir-devel %endif -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: virglrenderer-devel >= 0.4.1 %endif %if 0%{?suse_version} >= 1210 @@ -332,9 +375,12 @@ Suggests: qemu-block-dmg %if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 Suggests: qemu-block-gluster %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) Suggests: qemu-block-iscsi %endif +%if 0%{?with_rbd} +Suggests: qemu-block-rbd +%endif %if 0%{?suse_version} > 1140 Suggests: qemu-block-ssh %endif @@ -348,11 +394,11 @@ Recommends: qemu-ksm = %{version} %define x86_64_only_b_f_f {efi-e1000.rom efi-eepro100.rom \ efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom} %endif -%define built_firmware_files {bios.bin bios-256k.bin \ -sgabios.bin vgabios.bin vgabios-cirrus.bin \ -vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin vgabios-qxl.bin \ -optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin \ -pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}} +%define built_firmware_files {bios.bin bios-256k.bin sgabios.bin vgabios.bin \ +vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin \ +vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin \ +optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom \ +pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}} %description QEMU is an extremely well-performing CPU emulator that allows you to @@ -533,7 +579,7 @@ This sub-package contains a module for accessing network-based image files over a GlusterFS network connection from qemu-img tool and QEMU system emulation. %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %package block-iscsi Summary: Universal CPU emulator -- iSCSI block support Group: System/Emulators/PC @@ -550,6 +596,23 @@ This sub-package contains a module for accessing network-based image files over an iSCSI network connection from qemu-img tool and QEMU system emulation. %endif +%if 0%{?with_rbd} +%package block-rbd +Summary: Universal CPU emulator -- Ceph (rbd) block support +Group: System/Emulators/PC +%{qemu_module_conflicts} + +%description block-rbd +QEMU is an extremely well-performing CPU emulator that allows you to +choose between simulating an entire system and running userspace +binaries for different architectures under your native operating +system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well +as PC and PowerMac systems. + +This sub-package contains a module for accessing ceph (rbd,rados) +image files. +%endif + %if 0%{?suse_version} > 1140 %package block-ssh Summary: Universal CPU emulator -- SSH block support @@ -573,6 +636,9 @@ Group: System/Emulators/PC Provides: qemu:%_libexecdir/qemu-bridge-helper PreReq: permissions Recommends: qemu-block-curl +%if 0%{?with_rbd} +Recommends: qemu-block-rbd +%endif %description tools QEMU is an extremely well-performing CPU emulator that allows you to @@ -738,6 +804,21 @@ This package provides a service file for starting and stopping KSM. %patch0059 -p1 %patch0060 -p1 %patch0061 -p1 +%patch0062 -p1 +%patch0063 -p1 +%patch0064 -p1 +%patch0065 -p1 +%patch0066 -p1 +%patch0067 -p1 +%patch0068 -p1 +%patch0069 -p1 +%patch0070 -p1 +%patch0071 -p1 +%patch0072 -p1 +%patch0073 -p1 +%patch0074 -p1 +%patch0075 -p1 +%patch0076 -p1 %if %{build_x86_fw_from_source} pushd roms/seabios @@ -774,6 +855,7 @@ rm -f pc-bios/slof.bin --libexecdir=%_libexecdir \ --localstatedir=%_localstatedir \ --extra-cflags="%{optflags}" \ + --disable-stack-protector \ --disable-strip \ --with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \ --enable-system --disable-linux-user \ @@ -818,7 +900,7 @@ rm -f pc-bios/slof.bin %else --disable-kvm \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) --enable-libiscsi \ %else --disable-libiscsi \ @@ -850,7 +932,14 @@ rm -f pc-bios/slof.bin --enable-numa \ %endif %endif +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-opengl \ +%endif +%if 0%{?with_rbd} + --enable-rbd \ +%else --disable-rbd \ +%endif %if 0%{?suse_version} >= 1315 --enable-rdma \ %else @@ -862,7 +951,7 @@ rm -f pc-bios/slof.bin %else --with-sdlabi=1.2 \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} --enable-seccomp \ %else --disable-seccomp \ @@ -892,15 +981,17 @@ rm -f pc-bios/slof.bin --enable-vde \ --enable-vhdx \ --enable-vhost-net \ -%if 0%{?suse_version} >= 1320 - --enable-virglrenderer \ +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-virglrenderer \ %endif --enable-virtfs \ --enable-vnc \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ -%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0) +%if 0%{?suse_version} == 1320 + --disable-vte \ +%else --enable-vte \ %endif %ifarch x86_64 @@ -910,7 +1001,7 @@ rm -f pc-bios/slof.bin %else --disable-xen \ %endif - --enable-xfsctl \ + --enable-xfsctl \ %if "%{name}" != "qemu-testsuite" @@ -951,7 +1042,7 @@ for conf in default-configs/*-softmmu.mak; do done # Compile the QOM test binary first, so that ... -make tests/qom-test %{?_smp_mflags} V=1 +make tests/qom-test %{?_smp_mflags} V=1 # ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379) %if 0%{?suse_version} >= 1310 make check-report.html V=1 @@ -1049,6 +1140,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules %if 0%{?with_systemd} install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service +%ifarch s390x +install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf +%endif %endif %fdupes -s $RPM_BUILD_ROOT @@ -1072,17 +1166,20 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml %if %{kvm_available} %post +# Do not execute operations affecting host devices while running in a chroot +if [ $(stat -L -c "%i" /proc/1/root/) = $(stat -L -c "%i" /) ]; then + setfacl --remove-all /dev/kvm &> /dev/null || : %if 0%{?with_systemd} -%udev_rules_update + %udev_rules_update + %_bindir/udevadm trigger || : %else -if [ "$(readlink -f /proc/1/root)" = "/" ]; then /sbin/udevadm control --reload-rules || : /sbin/udevadm trigger || : -fi %endif %ifarch s390x -sysctl vm.allocate_pgste=1 + sysctl vm.allocate_pgste=1 || : %endif +fi %endif %if 0%{?suse_version} >= 1130 @@ -1146,6 +1243,9 @@ fi %endif %ifarch s390x %{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x +%if 0%{?with_systemd} +%_libexecdir/modules-load.d/kvm.conf +%endif %endif %endif @@ -1232,12 +1332,19 @@ fi %_libdir/%name/block-gluster.so %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %files block-iscsi %defattr(-, root, root) %_libdir/%name/block-iscsi.so %endif +%if 0%{?with_rbd} +%files block-rbd +%defattr(-, root, root) +%dir %_libdir/%name +%_libdir/%name/block-rbd.so +%endif + %if 0%{?suse_version} > 1140 %files block-ssh %defattr(-, root, root) @@ -1295,7 +1402,7 @@ fi %_bindir/qemu-nbd %_bindir/virtfs-proxy-helper #%_bindir/vscclient -%verify(not mode) %_libexecdir/qemu-bridge-helper +%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper %dir %_sysconfdir/%name %config %_sysconfdir/%name/bridge.conf %dir %_libdir/%name diff --git a/qemu.spec.in b/qemu.spec.in index 5c48cec4..ecbc5441 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -28,9 +28,7 @@ %define build_slof_from_source 1 %endif %ifarch ppc64le -# Needs a compatible gcc (bsc#949000) -# TODO: include 1315 for SLE12 once possible -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %define build_slof_from_source 1 %endif %endif @@ -46,6 +44,28 @@ %endif %define noarch_supported 1110 +%if 0%{?is_opensuse} == 0 +%ifarch x86_64 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) ) +%define with_rbd 1 +%endif +%endif + +%ifarch aarch64 +%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 ) +%define with_rbd 1 +%endif +%endif +%endif + +%if 0%{?suse_version} > 1320 +%define with_seccomp 1 +%endif + +%ifarch %ix86 x86_64 +%define with_seccomp 1 +%endif + Name: qemu Url: http://www.qemu.org/ Summary: Universal CPU emulator @@ -64,6 +84,7 @@ Source6: ksm.service Source7: 60-kvm.x86.rules Source8: 80-qemu-ga.rules Source9: qemu-ga.service +Source10: kvm.conf # Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch # This patch queue is auto-generated from https://github.com/openSUSE/qemu PATCH_FILES @@ -129,7 +150,7 @@ BuildRequires: libcacard-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: libdrm-devel -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libepoxy-devel %endif %if 0%{?suse_version} >= 1310 @@ -142,7 +163,14 @@ BuildRequires: libgnutls-devel %if 0%{?suse_version} >= 1315 BuildRequires: libibverbs-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_rbd} +%if 0%{?is_opensuse} +BuildRequires: librbd-devel +%else +BuildRequires: ceph-devel +%endif +%endif +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libiscsi-devel %endif BuildRequires: libjpeg-devel @@ -165,13 +193,12 @@ BuildRequires: libpulse-devel %if 0%{?suse_version} >= 1315 BuildRequires: librdmacm-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} BuildRequires: libseccomp-devel %endif %if 0%{?suse_version} > 1140 BuildRequires: libssh2-devel %endif -BuildRequires: libtool %if 0%{?suse_version} > 1310 BuildRequires: libusb-1_0-devel %endif @@ -180,6 +207,7 @@ BuildRequires: lzo-devel %if 0%{?suse_version} > 1220 BuildRequires: makeinfo %endif +BuildRequires: Mesa-devel BuildRequires: mozilla-nss-devel BuildRequires: ncurses-devel %if 0%{?build_x86_fw_from_source} @@ -207,7 +235,7 @@ BuildRequires: pkgconfig(udev) %if 0%{?sles_version} != 11 BuildRequires: usbredir-devel %endif -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: virglrenderer-devel >= 0.4.1 %endif %if 0%{?suse_version} >= 1210 @@ -272,9 +300,12 @@ Suggests: qemu-block-dmg %if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 Suggests: qemu-block-gluster %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) Suggests: qemu-block-iscsi %endif +%if 0%{?with_rbd} +Suggests: qemu-block-rbd +%endif %if 0%{?suse_version} > 1140 Suggests: qemu-block-ssh %endif @@ -288,11 +319,11 @@ Recommends: qemu-ksm = %{version} %define x86_64_only_b_f_f {efi-e1000.rom efi-eepro100.rom \ efi-pcnet.rom efi-ne2k_pci.rom efi-rtl8139.rom efi-virtio.rom} %endif -%define built_firmware_files {bios.bin bios-256k.bin \ -sgabios.bin vgabios.bin vgabios-cirrus.bin \ -vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin vgabios-qxl.bin \ -optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin \ -pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}} +%define built_firmware_files {bios.bin bios-256k.bin sgabios.bin vgabios.bin \ +vgabios-cirrus.bin vgabios-stdvga.bin vgabios-virtio.bin vgabios-vmware.bin \ +vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin \ +optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom \ +pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom %{?x86_64_only_b_f_f}} %description QEMU is an extremely well-performing CPU emulator that allows you to @@ -473,7 +504,7 @@ This sub-package contains a module for accessing network-based image files over a GlusterFS network connection from qemu-img tool and QEMU system emulation. %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %package block-iscsi Summary: Universal CPU emulator -- iSCSI block support Group: System/Emulators/PC @@ -490,6 +521,23 @@ This sub-package contains a module for accessing network-based image files over an iSCSI network connection from qemu-img tool and QEMU system emulation. %endif +%if 0%{?with_rbd} +%package block-rbd +Summary: Universal CPU emulator -- Ceph (rbd) block support +Group: System/Emulators/PC +%{qemu_module_conflicts} + +%description block-rbd +QEMU is an extremely well-performing CPU emulator that allows you to +choose between simulating an entire system and running userspace +binaries for different architectures under your native operating +system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well +as PC and PowerMac systems. + +This sub-package contains a module for accessing ceph (rbd,rados) +image files. +%endif + %if 0%{?suse_version} > 1140 %package block-ssh Summary: Universal CPU emulator -- SSH block support @@ -513,6 +561,9 @@ Group: System/Emulators/PC Provides: qemu:%_libexecdir/qemu-bridge-helper PreReq: permissions Recommends: qemu-block-curl +%if 0%{?with_rbd} +Recommends: qemu-block-rbd +%endif %description tools QEMU is an extremely well-performing CPU emulator that allows you to @@ -655,6 +706,7 @@ rm -f pc-bios/slof.bin --libexecdir=%_libexecdir \ --localstatedir=%_localstatedir \ --extra-cflags="%{optflags}" \ + --disable-stack-protector \ --disable-strip \ --with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \ --enable-system --disable-linux-user \ @@ -699,7 +751,7 @@ rm -f pc-bios/slof.bin %else --disable-kvm \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) --enable-libiscsi \ %else --disable-libiscsi \ @@ -731,7 +783,14 @@ rm -f pc-bios/slof.bin --enable-numa \ %endif %endif +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-opengl \ +%endif +%if 0%{?with_rbd} + --enable-rbd \ +%else --disable-rbd \ +%endif %if 0%{?suse_version} >= 1315 --enable-rdma \ %else @@ -743,7 +802,7 @@ rm -f pc-bios/slof.bin %else --with-sdlabi=1.2 \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} --enable-seccomp \ %else --disable-seccomp \ @@ -773,15 +832,17 @@ rm -f pc-bios/slof.bin --enable-vde \ --enable-vhdx \ --enable-vhost-net \ -%if 0%{?suse_version} >= 1320 - --enable-virglrenderer \ +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-virglrenderer \ %endif --enable-virtfs \ --enable-vnc \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ -%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0) +%if 0%{?suse_version} == 1320 + --disable-vte \ +%else --enable-vte \ %endif %ifarch x86_64 @@ -791,7 +852,7 @@ rm -f pc-bios/slof.bin %else --disable-xen \ %endif - --enable-xfsctl \ + --enable-xfsctl \ %if "%{name}" != "qemu-testsuite" @@ -833,7 +894,7 @@ for conf in default-configs/*-softmmu.mak; do done # Compile the QOM test binary first, so that ... -make tests/qom-test %{?_smp_mflags} V=1 +make tests/qom-test %{?_smp_mflags} V=1 # ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379) %if 0%{?suse_version} >= 1310 make check-report.html V=1 @@ -931,6 +992,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules %if 0%{?with_systemd} install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service +%ifarch s390x +install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf +%endif %endif %fdupes -s $RPM_BUILD_ROOT @@ -955,17 +1019,20 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml %if %{kvm_available} %post +# Do not execute operations affecting host devices while running in a chroot +if [ $(stat -L -c "%i" /proc/1/root/) = $(stat -L -c "%i" /) ]; then + setfacl --remove-all /dev/kvm &> /dev/null || : %if 0%{?with_systemd} -%udev_rules_update + %udev_rules_update + %_bindir/udevadm trigger || : %else -if [ "$(readlink -f /proc/1/root)" = "/" ]; then /sbin/udevadm control --reload-rules || : /sbin/udevadm trigger || : -fi %endif %ifarch s390x -sysctl vm.allocate_pgste=1 + sysctl vm.allocate_pgste=1 || : %endif +fi %endif %if 0%{?suse_version} >= 1130 @@ -1029,6 +1096,9 @@ fi %endif %ifarch s390x %{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x +%if 0%{?with_systemd} +%_libexecdir/modules-load.d/kvm.conf +%endif %endif %endif @@ -1115,12 +1185,19 @@ fi %_libdir/%name/block-gluster.so %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %files block-iscsi %defattr(-, root, root) %_libdir/%name/block-iscsi.so %endif +%if 0%{?with_rbd} +%files block-rbd +%defattr(-, root, root) +%dir %_libdir/%name +%_libdir/%name/block-rbd.so +%endif + %if 0%{?suse_version} > 1140 %files block-ssh %defattr(-, root, root) @@ -1178,7 +1255,7 @@ fi %_bindir/qemu-nbd %_bindir/virtfs-proxy-helper #%_bindir/vscclient -%verify(not mode) %_libexecdir/qemu-bridge-helper +%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper %dir %_sysconfdir/%name %config %_sysconfdir/%name/bridge.conf %dir %_libdir/%name