Accepting request 530641 from home:bfrogers:branches:Virtualization

Fix s390 issues, build from source rpm, and qemu-testsuite failures.

OBS-URL: https://build.opensuse.org/request/show/530641
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=366
This commit is contained in:
Bruce Rogers 2017-10-03 03:16:40 +00:00 committed by Git OBS Bridge
parent 9fcccba19b
commit 7267786620
13 changed files with 288 additions and 4 deletions

View File

@ -1,4 +1,4 @@
From f7693dc747607758e80f9b3e506105461f4455bb Mon Sep 17 00:00:00 2001
From fbb04572c563144614fe3c3cb87c4e289c18e3d2 Mon Sep 17 00:00:00 2001
From: Liang Yan <lyan@suse.com>
Date: Fri, 22 Sep 2017 18:55:33 -0400
Subject: [PATCH] chardev/baum: fix baum that releases brlapi twice

View File

@ -0,0 +1,40 @@
From 9422f33e1efad3bfbed1feec544a2989f3ce1d9e Mon Sep 17 00:00:00 2001
From: Christian Borntraeger <borntraeger@de.ibm.com>
Date: Thu, 21 Sep 2017 16:08:34 +0200
Subject: [PATCH] s390x/ais: for 2.10 stable: disable ais facility
The migration interface for ais was introduced with kernel 4.13
but the capability itself had been active since 4.12. As migration
support is considered necessary lets disable ais in the 2.10
stable version. A proper fix and re-enablement will be done
for qemu 2.11.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <20170921140834.14233-2-borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit 3f2d07b3b01ea61126b382633ab4006320923048)
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
target/s390x/kvm.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index c4c5791d27..eb0dbb338b 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -308,8 +308,13 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
}
}
- /* Try to enable AIS facility */
- kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0);
+ /*
+ * The migration interface for ais was introduced with kernel 4.13
+ * but the capability itself had been active since 4.12. As migration
+ * support is considered necessary let's disable ais in the 2.10
+ * machine.
+ */
+ /* kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0); */
qemu_mutex_init(&qemu_sigp_mutex);

View File

@ -0,0 +1,32 @@
From 00af5eb0b1fe96b04183e7f2e853da7b41aca156 Mon Sep 17 00:00:00 2001
From: Christian Borntraeger <borntraeger@de.ibm.com>
Date: Wed, 27 Sep 2017 09:20:28 +0200
Subject: [PATCH] s390x/cpumodel: remove ais from z14 default model-> also for
2.10.1
We disabled ais for 2.10, so let's also remove it from the z14
default model.
Fixes: 3f2d07b3b01e ("s390x/ais: for 2.10 stable: disable ais facility")
CC: qemu-stable@nongnu.org
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <20170927072030.35737-2-borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
(cherry picked from commit 9dacc908462693719d84ec594e839434959cf6f1)
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
target/s390x/gen-features.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index c8dc104bc1..68e6c31b4b 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -527,7 +527,6 @@ static uint16_t default_GEN13_GA1[] = {
#define default_GEN13_GA2 EmptyFeat
static uint16_t default_GEN14_GA1[] = {
- S390_FEAT_ADAPTER_INT_SUPPRESSION,
S390_FEAT_INSTRUCTION_EXEC_PROT,
S390_FEAT_GUARDED_STORAGE,
S390_FEAT_VECTOR_PACKED_DECIMAL,

View File

@ -0,0 +1,36 @@
From 8b98dfae2517850aa45f247b6a58db0a3b8b63b3 Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Fri, 21 Jul 2017 12:47:39 +0100
Subject: [PATCH] io: fix temp directory used by test-io-channel-tls test
The test-io-channel-tls test was mistakenly using two of the
same directories as test-crypto-tlssession. This causes a
sporadic failure when using make -j$BIGNUM.
Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit d4adf9675801cd90e66ecfcd6a54ca1abc5a6698)
[BR: We're getting failures in qemu-testsuite. This fix either resolves
that failure, or has been identified as being a qemu-testsuite failure
fix in related code]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/test-io-channel-tls.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/test-io-channel-tls.c b/tests/test-io-channel-tls.c
index 8eaa208e1b..ff96877323 100644
--- a/tests/test-io-channel-tls.c
+++ b/tests/test-io-channel-tls.c
@@ -127,8 +127,8 @@ static void test_io_channel_tls(const void *opaque)
/* We'll use this for our fake client-server connection */
g_assert(socketpair(AF_UNIX, SOCK_STREAM, 0, channel) == 0);
-#define CLIENT_CERT_DIR "tests/test-crypto-tlssession-client/"
-#define SERVER_CERT_DIR "tests/test-crypto-tlssession-server/"
+#define CLIENT_CERT_DIR "tests/test-io-channel-tls-client/"
+#define SERVER_CERT_DIR "tests/test-io-channel-tls-server/"
mkdir(CLIENT_CERT_DIR, 0700);
mkdir(SERVER_CERT_DIR, 0700);

View File

@ -0,0 +1,36 @@
From 6b1a06c93a3ff4783c18148a6e538f89d6736e1a Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Tue, 29 Aug 2017 17:04:52 +0100
Subject: [PATCH] io: fix check for handshake completion in TLS test
The TLS I/O channel test had mistakenly used && instead
of || when checking for handshake completion. As a
result it could terminate the handshake process before
it had actually completed. This was harmless before but
changes in GNUTLS 3.6.0 exposed this bug and caused the
test suite to fail.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit 689ed13e73bdb5a5ca3366524475e3065fae854a)
[BR: We're getting failures in qemu-testsuite. This fix either resolves
that failure, or has been identified as being a qemu-testsuite failure
fix in related code]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/test-io-channel-tls.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test-io-channel-tls.c b/tests/test-io-channel-tls.c
index ff96877323..a210d01ba5 100644
--- a/tests/test-io-channel-tls.c
+++ b/tests/test-io-channel-tls.c
@@ -218,7 +218,7 @@ static void test_io_channel_tls(const void *opaque)
mainloop = g_main_context_default();
do {
g_main_context_iteration(mainloop, TRUE);
- } while (!clientHandshake.finished &&
+ } while (!clientHandshake.finished ||
!serverHandshake.finished);
g_assert(clientHandshake.failed == data->expectClientFail);

View File

@ -0,0 +1,37 @@
From 8242424b356df5afb3bf862f8782e9273da3a60c Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Tue, 29 Aug 2017 17:03:30 +0100
Subject: [PATCH] crypto: fix test cert generation to not use SHA1 algorithm
GNUTLS 3.6.0 marked SHA1 as untrusted for certificates.
Unfortunately the gnutls_x509_crt_sign() method we are
using to create certificates in the test suite is fixed
to always use SHA1. We must switch to a different method
and explicitly ask for SHA256.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit 23c1595b0297e6ca8f37559af6f0b8533aa1fd99)
[BR: We're getting failures in qemu-testsuite. This fix either resolves
that failure, or has been identified as being a qemu-testsuite failure
fix in related code]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
tests/crypto-tls-x509-helpers.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/crypto-tls-x509-helpers.c b/tests/crypto-tls-x509-helpers.c
index 64073d3bd3..173d4e28fb 100644
--- a/tests/crypto-tls-x509-helpers.c
+++ b/tests/crypto-tls-x509-helpers.c
@@ -406,7 +406,8 @@ test_tls_generate_cert(QCryptoTLSTestCertReq *req,
* If no 'ca' is set then we are self signing
* the cert. This is done for the root CA certs
*/
- err = gnutls_x509_crt_sign(crt, ca ? ca : crt, privkey);
+ err = gnutls_x509_crt_sign2(crt, ca ? ca : crt, privkey,
+ GNUTLS_DIG_SHA256, 0);
if (err < 0) {
g_critical("Failed to sign certificate %s",
gnutls_strerror(err));

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Mon Oct 2 20:26:18 UTC 2017 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
* Patches added:
0040-io-fix-temp-directory-used-by-test-.patch
0041-io-fix-check-for-handshake-completi.patch
0042-crypto-fix-test-cert-generation-to-.patch
-------------------------------------------------------------------
Thu Sep 28 21:56:47 UTC 2017 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
* Patches added:
0038-s390x-ais-for-2.10-stable-disable-a.patch
0039-s390x-cpumodel-remove-ais-from-z14-.patch
-------------------------------------------------------------------
Thu Sep 28 17:31:36 UTC 2017 - lyan@suse.com

View File

@ -63,6 +63,11 @@ Patch0034: 0034-slirp-fix-clearing-ifq_so-from-pend.patch
Patch0035: 0035-s390-ccw-Fix-alignment-for-CCW1.patch
Patch0036: 0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
Patch0037: 0037-chardev-baum-fix-baum-that-releases.patch
Patch0038: 0038-s390x-ais-for-2.10-stable-disable-a.patch
Patch0039: 0039-s390x-cpumodel-remove-ais-from-z14-.patch
Patch0040: 0040-io-fix-temp-directory-used-by-test-.patch
Patch0041: 0041-io-fix-check-for-handshake-completi.patch
Patch0042: 0042-crypto-fix-test-cert-generation-to-.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
Source400: update_git.sh
@ -153,6 +158,11 @@ run cross-architecture builds.
%patch0035 -p1
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%build
./configure \

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Oct 2 20:26:13 UTC 2017 - brogers@suse.com
- Fix failures and potential failures in qemu-testsuite
0040-io-fix-temp-directory-used-by-test-.patch
0041-io-fix-check-for-handshake-completi.patch
0042-crypto-fix-test-cert-generation-to-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
-------------------------------------------------------------------
Thu Sep 28 21:56:44 UTC 2017 - brogers@suse.com
- Fix migration issue on s390
0038-s390x-ais-for-2.10-stable-disable-a.patch
0039-s390x-cpumodel-remove-ais-from-z14-.patch
- Fix case of not being able to build from rpm sources due to
undefined macro (boo#1057966)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
-------------------------------------------------------------------
Thu Sep 28 17:31:33 UTC 2017 - lyan@suse.com

View File

@ -24,6 +24,12 @@
%define legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1
%if "%{?distribution}" == ""
%define distro private-build
%else
%define distro %{distribution}
%endif
%ifarch %ix86 x86_64
# choice of building all from source or using provided binary x86 blobs
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
@ -169,6 +175,11 @@ Patch0034: 0034-slirp-fix-clearing-ifq_so-from-pend.patch
Patch0035: 0035-s390-ccw-Fix-alignment-for-CCW1.patch
Patch0036: 0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
Patch0037: 0037-chardev-baum-fix-baum-that-releases.patch
Patch0038: 0038-s390x-ais-for-2.10-stable-disable-a.patch
Patch0039: 0039-s390x-cpumodel-remove-ais-from-z14-.patch
Patch0040: 0040-io-fix-temp-directory-used-by-test-.patch
Patch0041: 0041-io-fix-check-for-handshake-completi.patch
Patch0042: 0042-crypto-fix-test-cert-generation-to-.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -855,6 +866,11 @@ This package provides a service file for starting and stopping KSM.
%patch0035 -p1
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
pushd roms/ipxe
%patch1100 -p1
@ -888,7 +904,7 @@ echo '%{version}' > roms/seabios/.version
--extra-cflags="%{optflags}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
--enable-system --disable-linux-user \
--enable-tools --enable-guest-agent \
--enable-modules \

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Oct 2 20:26:13 UTC 2017 - brogers@suse.com
- Fix failures and potential failures in qemu-testsuite
0040-io-fix-temp-directory-used-by-test-.patch
0041-io-fix-check-for-handshake-completi.patch
0042-crypto-fix-test-cert-generation-to-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
-------------------------------------------------------------------
Thu Sep 28 21:56:44 UTC 2017 - brogers@suse.com
- Fix migration issue on s390
0038-s390x-ais-for-2.10-stable-disable-a.patch
0039-s390x-cpumodel-remove-ais-from-z14-.patch
- Fix case of not being able to build from rpm sources due to
undefined macro (boo#1057966)
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
-------------------------------------------------------------------
Thu Sep 28 17:31:33 UTC 2017 - lyan@suse.com

View File

@ -24,6 +24,12 @@
%define legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1
%if "%{?distribution}" == ""
%define distro private-build
%else
%define distro %{distribution}
%endif
%ifarch %ix86 x86_64
# choice of building all from source or using provided binary x86 blobs
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
@ -169,6 +175,11 @@ Patch0034: 0034-slirp-fix-clearing-ifq_so-from-pend.patch
Patch0035: 0035-s390-ccw-Fix-alignment-for-CCW1.patch
Patch0036: 0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
Patch0037: 0037-chardev-baum-fix-baum-that-releases.patch
Patch0038: 0038-s390x-ais-for-2.10-stable-disable-a.patch
Patch0039: 0039-s390x-cpumodel-remove-ais-from-z14-.patch
Patch0040: 0040-io-fix-temp-directory-used-by-test-.patch
Patch0041: 0041-io-fix-check-for-handshake-completi.patch
Patch0042: 0042-crypto-fix-test-cert-generation-to-.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -855,6 +866,11 @@ This package provides a service file for starting and stopping KSM.
%patch0035 -p1
%patch0036 -p1
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
pushd roms/ipxe
%patch1100 -p1
@ -888,7 +904,7 @@ echo '%{version}' > roms/seabios/.version
--extra-cflags="%{optflags}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
--enable-system --disable-linux-user \
--enable-tools --enable-guest-agent \
--enable-modules \

View File

@ -24,6 +24,12 @@
%define legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1
%if "%{?distribution}" == ""
%define distro private-build
%else
%define distro %{distribution}
%endif
%ifarch %ix86 x86_64
# choice of building all from source or using provided binary x86 blobs
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
@ -816,7 +822,7 @@ echo '%{version}' > roms/seabios/.version
--extra-cflags="%{optflags}" \
--disable-stack-protector \
--disable-strip \
--with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
--enable-system --disable-linux-user \
--enable-tools --enable-guest-agent \
--enable-modules \