qemu-6.2.0-rc3
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
This commit is contained in:
parent
f54452a157
commit
842e805475
@ -1,124 +0,0 @@
|
|||||||
From cc071629539dc1f303175a7e2d4ab854c0a8b20f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
Date: Thu, 23 Sep 2021 09:04:36 -0400
|
|
||||||
Subject: [PATCH] block: introduce max_hw_iov for use in scsi-generic
|
|
||||||
|
|
||||||
Linux limits the size of iovecs to 1024 (UIO_MAXIOV in the kernel
|
|
||||||
sources, IOV_MAX in POSIX). Because of this, on some host adapters
|
|
||||||
requests with many iovecs are rejected with -EINVAL by the
|
|
||||||
io_submit() or readv()/writev() system calls.
|
|
||||||
|
|
||||||
In fact, the same limit applies to SG_IO as well. To fix both the
|
|
||||||
EINVAL and the possible performance issues from using fewer iovecs
|
|
||||||
than allowed by Linux (some HBAs have max_segments as low as 128),
|
|
||||||
introduce a separate entry in BlockLimits to hold the max_segments
|
|
||||||
value from sysfs. This new limit is used only for SG_IO and clamped
|
|
||||||
to bs->bl.max_iov anyway, just like max_hw_transfer is clamped to
|
|
||||||
bs->bl.max_transfer.
|
|
||||||
|
|
||||||
Reported-by: Halil Pasic <pasic@linux.ibm.com>
|
|
||||||
Cc: Hanna Reitz <hreitz@redhat.com>
|
|
||||||
Cc: Kevin Wolf <kwolf@redhat.com>
|
|
||||||
Cc: qemu-block@nongnu.org
|
|
||||||
Cc: qemu-stable@nongnu.org
|
|
||||||
Fixes: 18473467d5 ("file-posix: try BLKSECTGET on block devices too, do not round to power of 2", 2021-06-25)
|
|
||||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
Message-Id: <20210923130436.1187591-1-pbonzini@redhat.com>
|
|
||||||
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
||||||
---
|
|
||||||
block/block-backend.c | 6 ++++++
|
|
||||||
block/file-posix.c | 2 +-
|
|
||||||
block/io.c | 1 +
|
|
||||||
hw/scsi/scsi-generic.c | 2 +-
|
|
||||||
include/block/block_int.h | 7 +++++++
|
|
||||||
include/sysemu/block-backend.h | 1 +
|
|
||||||
6 files changed, 17 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/block/block-backend.c b/block/block-backend.c
|
|
||||||
index 6140d133e2..ba2b5ebb10 100644
|
|
||||||
--- a/block/block-backend.c
|
|
||||||
+++ b/block/block-backend.c
|
|
||||||
@@ -1986,6 +1986,12 @@ uint32_t blk_get_max_transfer(BlockBackend *blk)
|
|
||||||
return ROUND_DOWN(max, blk_get_request_alignment(blk));
|
|
||||||
}
|
|
||||||
|
|
||||||
+int blk_get_max_hw_iov(BlockBackend *blk)
|
|
||||||
+{
|
|
||||||
+ return MIN_NON_ZERO(blk->root->bs->bl.max_hw_iov,
|
|
||||||
+ blk->root->bs->bl.max_iov);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
int blk_get_max_iov(BlockBackend *blk)
|
|
||||||
{
|
|
||||||
return blk->root->bs->bl.max_iov;
|
|
||||||
diff --git a/block/file-posix.c b/block/file-posix.c
|
|
||||||
index c62e42743d..53be0bdc1b 100644
|
|
||||||
--- a/block/file-posix.c
|
|
||||||
+++ b/block/file-posix.c
|
|
||||||
@@ -1273,7 +1273,7 @@ static void raw_refresh_limits(BlockDriverState *bs, Error **errp)
|
|
||||||
|
|
||||||
ret = hdev_get_max_segments(s->fd, &st);
|
|
||||||
if (ret > 0) {
|
|
||||||
- bs->bl.max_iov = ret;
|
|
||||||
+ bs->bl.max_hw_iov = ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/block/io.c b/block/io.c
|
|
||||||
index 18d345a87a..bb0a254def 100644
|
|
||||||
--- a/block/io.c
|
|
||||||
+++ b/block/io.c
|
|
||||||
@@ -136,6 +136,7 @@ static void bdrv_merge_limits(BlockLimits *dst, const BlockLimits *src)
|
|
||||||
dst->min_mem_alignment = MAX(dst->min_mem_alignment,
|
|
||||||
src->min_mem_alignment);
|
|
||||||
dst->max_iov = MIN_NON_ZERO(dst->max_iov, src->max_iov);
|
|
||||||
+ dst->max_hw_iov = MIN_NON_ZERO(dst->max_hw_iov, src->max_hw_iov);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct BdrvRefreshLimitsState {
|
|
||||||
diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
|
|
||||||
index 665baf900e..0306ccc7b1 100644
|
|
||||||
--- a/hw/scsi/scsi-generic.c
|
|
||||||
+++ b/hw/scsi/scsi-generic.c
|
|
||||||
@@ -180,7 +180,7 @@ static int scsi_handle_inquiry_reply(SCSIGenericReq *r, SCSIDevice *s, int len)
|
|
||||||
page = r->req.cmd.buf[2];
|
|
||||||
if (page == 0xb0) {
|
|
||||||
uint64_t max_transfer = blk_get_max_hw_transfer(s->conf.blk);
|
|
||||||
- uint32_t max_iov = blk_get_max_iov(s->conf.blk);
|
|
||||||
+ uint32_t max_iov = blk_get_max_hw_iov(s->conf.blk);
|
|
||||||
|
|
||||||
assert(max_transfer);
|
|
||||||
max_transfer = MIN_NON_ZERO(max_transfer, max_iov * qemu_real_host_page_size)
|
|
||||||
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
|
||||||
index ffe86068d4..f4c75e8ba9 100644
|
|
||||||
--- a/include/block/block_int.h
|
|
||||||
+++ b/include/block/block_int.h
|
|
||||||
@@ -718,6 +718,13 @@ typedef struct BlockLimits {
|
|
||||||
*/
|
|
||||||
uint64_t max_hw_transfer;
|
|
||||||
|
|
||||||
+ /* Maximal number of scatter/gather elements allowed by the hardware.
|
|
||||||
+ * Applies whenever transfers to the device bypass the kernel I/O
|
|
||||||
+ * scheduler, for example with SG_IO. If larger than max_iov
|
|
||||||
+ * or if zero, blk_get_max_hw_iov will fall back to max_iov.
|
|
||||||
+ */
|
|
||||||
+ int max_hw_iov;
|
|
||||||
+
|
|
||||||
/* memory alignment, in bytes so that no bounce buffer is needed */
|
|
||||||
size_t min_mem_alignment;
|
|
||||||
|
|
||||||
diff --git a/include/sysemu/block-backend.h b/include/sysemu/block-backend.h
|
|
||||||
index 29d4fdbf63..82bae55161 100644
|
|
||||||
--- a/include/sysemu/block-backend.h
|
|
||||||
+++ b/include/sysemu/block-backend.h
|
|
||||||
@@ -211,6 +211,7 @@ uint32_t blk_get_request_alignment(BlockBackend *blk);
|
|
||||||
uint32_t blk_get_max_transfer(BlockBackend *blk);
|
|
||||||
uint64_t blk_get_max_hw_transfer(BlockBackend *blk);
|
|
||||||
int blk_get_max_iov(BlockBackend *blk);
|
|
||||||
+int blk_get_max_hw_iov(BlockBackend *blk);
|
|
||||||
void blk_set_guest_block_size(BlockBackend *blk, int align);
|
|
||||||
void *blk_try_blockalign(BlockBackend *blk, size_t size);
|
|
||||||
void *blk_blockalign(BlockBackend *blk, size_t size);
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,315 +0,0 @@
|
|||||||
From 641c964a09a5b8e52b37d6060895801a393f4073 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Mon, 15 Nov 2021 14:29:43 -0600
|
|
||||||
Subject: [PATCH] nbd/server: Add --selinux-label option
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Under SELinux, Unix domain sockets have two labels. One is on the
|
|
||||||
disk and can be set with commands such as chcon(1). There is a
|
|
||||||
different label stored in memory (called the process label). This can
|
|
||||||
only be set by the process creating the socket. When using SELinux +
|
|
||||||
SVirt and wanting qemu to be able to connect to a qemu-nbd instance,
|
|
||||||
you must set both labels correctly first.
|
|
||||||
|
|
||||||
For qemu-nbd the options to set the second label are awkward. You can
|
|
||||||
create the socket in a wrapper program and then exec into qemu-nbd.
|
|
||||||
Or you could try something with LD_PRELOAD.
|
|
||||||
|
|
||||||
This commit adds the ability to set the label straightforwardly on the
|
|
||||||
command line, via the new --selinux-label flag. (The name of the flag
|
|
||||||
is the same as the equivalent nbdkit option.)
|
|
||||||
|
|
||||||
A worked example showing how to use the new option can be found in
|
|
||||||
this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1984938
|
|
||||||
|
|
||||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1984938
|
|
||||||
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
||||||
|
|
||||||
[eblake: rebase to configure changes, reject --selinux-label if it is
|
|
||||||
not compiled in or not used on a Unix socket]
|
|
||||||
Note that we may relax some of these restrictions at a later date,
|
|
||||||
such as making it possible to label a TCP socket, although it may be
|
|
||||||
smarter to do so as a generic QMP action rather than more one-off
|
|
||||||
command lines in qemu-nbd.
|
|
||||||
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
||||||
Message-Id: <20211115202944.615966-1-eblake@redhat.com>
|
|
||||||
Reviewed-by: Thomas Huth <thuth@redhat.com>
|
|
||||||
[eblake: adjust meson output as suggested by thuth]
|
|
||||||
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
||||||
---
|
|
||||||
meson.build | 10 +++-
|
|
||||||
meson_options.txt | 3 ++
|
|
||||||
qemu-nbd.c | 46 +++++++++++++++++++
|
|
||||||
tests/docker/dockerfiles/centos8.docker | 1 +
|
|
||||||
.../dockerfiles/fedora-i386-cross.docker | 1 +
|
|
||||||
tests/docker/dockerfiles/fedora.docker | 1 +
|
|
||||||
tests/docker/dockerfiles/opensuse-leap.docker | 1 +
|
|
||||||
tests/docker/dockerfiles/ubuntu1804.docker | 1 +
|
|
||||||
tests/docker/dockerfiles/ubuntu2004.docker | 1 +
|
|
||||||
9 files changed, 64 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index b3e7ec0e92..7b3fcea684 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -1064,6 +1064,11 @@ keyutils = dependency('libkeyutils', required: false,
|
|
||||||
|
|
||||||
has_gettid = cc.has_function('gettid')
|
|
||||||
|
|
||||||
+# libselinux
|
|
||||||
+selinux = dependency('libselinux',
|
|
||||||
+ required: get_option('selinux'),
|
|
||||||
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
||||||
+
|
|
||||||
# Malloc tests
|
|
||||||
|
|
||||||
malloc = []
|
|
||||||
@@ -1291,6 +1296,7 @@ config_host_data.set('CONFIG_FUSE', fuse.found())
|
|
||||||
config_host_data.set('CONFIG_FUSE_LSEEK', fuse_lseek.found())
|
|
||||||
config_host_data.set('CONFIG_X11', x11.found())
|
|
||||||
config_host_data.set('CONFIG_CFI', get_option('cfi'))
|
|
||||||
+config_host_data.set('CONFIG_SELINUX', selinux.found())
|
|
||||||
config_host_data.set('QEMU_VERSION', '"@0@"'.format(meson.project_version()))
|
|
||||||
config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0])
|
|
||||||
config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
|
|
||||||
@@ -2741,7 +2747,8 @@ if have_tools
|
|
||||||
qemu_io = executable('qemu-io', files('qemu-io.c'),
|
|
||||||
dependencies: [block, qemuutil], install: true)
|
|
||||||
qemu_nbd = executable('qemu-nbd', files('qemu-nbd.c'),
|
|
||||||
- dependencies: [blockdev, qemuutil, gnutls], install: true)
|
|
||||||
+ dependencies: [blockdev, qemuutil, gnutls, selinux],
|
|
||||||
+ install: true)
|
|
||||||
|
|
||||||
subdir('storage-daemon')
|
|
||||||
subdir('contrib/rdmacm-mux')
|
|
||||||
@@ -3106,6 +3113,7 @@ summary_info += {'libpmem support': libpmem.found()}
|
|
||||||
summary_info += {'libdaxctl support': libdaxctl.found()}
|
|
||||||
summary_info += {'libudev': libudev.found()}
|
|
||||||
summary_info += {'FUSE lseek': fuse_lseek.found()}
|
|
||||||
+summary_info += {'selinux': selinux}
|
|
||||||
summary(summary_info, bool_yn: true, section: 'Dependencies')
|
|
||||||
|
|
||||||
if not supported_cpus.contains(cpu)
|
|
||||||
diff --git a/meson_options.txt b/meson_options.txt
|
|
||||||
index a9a9b8f4c6..a5938500a3 100644
|
|
||||||
--- a/meson_options.txt
|
|
||||||
+++ b/meson_options.txt
|
|
||||||
@@ -155,3 +155,6 @@ option('slirp', type: 'combo', value: 'auto',
|
|
||||||
option('fdt', type: 'combo', value: 'auto',
|
|
||||||
choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
|
|
||||||
description: 'Whether and how to find the libfdt library')
|
|
||||||
+
|
|
||||||
+option('selinux', type: 'feature', value: 'auto',
|
|
||||||
+ description: 'SELinux support in qemu-nbd')
|
|
||||||
diff --git a/qemu-nbd.c b/qemu-nbd.c
|
|
||||||
index 26ffbf15af..94dc2a9cca 100644
|
|
||||||
--- a/qemu-nbd.c
|
|
||||||
+++ b/qemu-nbd.c
|
|
||||||
@@ -47,6 +47,10 @@
|
|
||||||
#include "trace/control.h"
|
|
||||||
#include "qemu-version.h"
|
|
||||||
|
|
||||||
+#ifdef CONFIG_SELINUX
|
|
||||||
+#include <selinux/selinux.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifdef __linux__
|
|
||||||
#define HAVE_NBD_DEVICE 1
|
|
||||||
#else
|
|
||||||
@@ -64,6 +68,7 @@
|
|
||||||
#define QEMU_NBD_OPT_FORK 263
|
|
||||||
#define QEMU_NBD_OPT_TLSAUTHZ 264
|
|
||||||
#define QEMU_NBD_OPT_PID_FILE 265
|
|
||||||
+#define QEMU_NBD_OPT_SELINUX_LABEL 266
|
|
||||||
|
|
||||||
#define MBR_SIZE 512
|
|
||||||
|
|
||||||
@@ -116,6 +121,9 @@ static void usage(const char *name)
|
|
||||||
" --fork fork off the server process and exit the parent\n"
|
|
||||||
" once the server is running\n"
|
|
||||||
" --pid-file=PATH store the server's process ID in the given file\n"
|
|
||||||
+#ifdef CONFIG_SELINUX
|
|
||||||
+" --selinux-label=LABEL set SELinux process label on listening socket\n"
|
|
||||||
+#endif
|
|
||||||
#if HAVE_NBD_DEVICE
|
|
||||||
"\n"
|
|
||||||
"Kernel NBD client support:\n"
|
|
||||||
@@ -452,6 +460,7 @@ static const char *socket_activation_validate_opts(const char *device,
|
|
||||||
const char *sockpath,
|
|
||||||
const char *address,
|
|
||||||
const char *port,
|
|
||||||
+ const char *selinux,
|
|
||||||
bool list)
|
|
||||||
{
|
|
||||||
if (device != NULL) {
|
|
||||||
@@ -470,6 +479,10 @@ static const char *socket_activation_validate_opts(const char *device,
|
|
||||||
return "TCP port number can't be set when using socket activation";
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (selinux != NULL) {
|
|
||||||
+ return "SELinux label can't be set when using socket activation";
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (list) {
|
|
||||||
return "List mode is incompatible with socket activation";
|
|
||||||
}
|
|
||||||
@@ -532,6 +545,8 @@ int main(int argc, char **argv)
|
|
||||||
{ "trace", required_argument, NULL, 'T' },
|
|
||||||
{ "fork", no_argument, NULL, QEMU_NBD_OPT_FORK },
|
|
||||||
{ "pid-file", required_argument, NULL, QEMU_NBD_OPT_PID_FILE },
|
|
||||||
+ { "selinux-label", required_argument, NULL,
|
|
||||||
+ QEMU_NBD_OPT_SELINUX_LABEL },
|
|
||||||
{ NULL, 0, NULL, 0 }
|
|
||||||
};
|
|
||||||
int ch;
|
|
||||||
@@ -558,6 +573,7 @@ int main(int argc, char **argv)
|
|
||||||
int old_stderr = -1;
|
|
||||||
unsigned socket_activation;
|
|
||||||
const char *pid_file_name = NULL;
|
|
||||||
+ const char *selinux_label = NULL;
|
|
||||||
BlockExportOptions *export_opts;
|
|
||||||
|
|
||||||
#ifdef CONFIG_POSIX
|
|
||||||
@@ -747,6 +763,9 @@ int main(int argc, char **argv)
|
|
||||||
case QEMU_NBD_OPT_PID_FILE:
|
|
||||||
pid_file_name = optarg;
|
|
||||||
break;
|
|
||||||
+ case QEMU_NBD_OPT_SELINUX_LABEL:
|
|
||||||
+ selinux_label = optarg;
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -786,6 +805,7 @@ int main(int argc, char **argv)
|
|
||||||
/* Using socket activation - check user didn't use -p etc. */
|
|
||||||
const char *err_msg = socket_activation_validate_opts(device, sockpath,
|
|
||||||
bindto, port,
|
|
||||||
+ selinux_label,
|
|
||||||
list);
|
|
||||||
if (err_msg != NULL) {
|
|
||||||
error_report("%s", err_msg);
|
|
||||||
@@ -825,6 +845,18 @@ int main(int argc, char **argv)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (selinux_label) {
|
|
||||||
+#ifdef CONFIG_SELINUX
|
|
||||||
+ if (sockpath == NULL && device == NULL) {
|
|
||||||
+ error_report("--selinux-label is not permitted without --socket");
|
|
||||||
+ exit(EXIT_FAILURE);
|
|
||||||
+ }
|
|
||||||
+#else
|
|
||||||
+ error_report("SELinux support not enabled in this binary");
|
|
||||||
+ exit(EXIT_FAILURE);
|
|
||||||
+#endif
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (list) {
|
|
||||||
saddr = nbd_build_socket_address(sockpath, bindto, port);
|
|
||||||
return qemu_nbd_client_list(saddr, tlscreds, bindto);
|
|
||||||
@@ -938,6 +970,13 @@ int main(int argc, char **argv)
|
|
||||||
} else {
|
|
||||||
backlog = MIN(shared, SOMAXCONN);
|
|
||||||
}
|
|
||||||
+#ifdef CONFIG_SELINUX
|
|
||||||
+ if (selinux_label && setsockcreatecon_raw(selinux_label) == -1) {
|
|
||||||
+ error_report("Cannot set SELinux socket create context to %s: %s",
|
|
||||||
+ selinux_label, strerror(errno));
|
|
||||||
+ exit(EXIT_FAILURE);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
saddr = nbd_build_socket_address(sockpath, bindto, port);
|
|
||||||
if (qio_net_listener_open_sync(server, saddr, backlog,
|
|
||||||
&local_err) < 0) {
|
|
||||||
@@ -945,6 +984,13 @@ int main(int argc, char **argv)
|
|
||||||
error_report_err(local_err);
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
+#ifdef CONFIG_SELINUX
|
|
||||||
+ if (selinux_label && setsockcreatecon_raw(NULL) == -1) {
|
|
||||||
+ error_report("Cannot clear SELinux socket create context: %s",
|
|
||||||
+ strerror(errno));
|
|
||||||
+ exit(EXIT_FAILURE);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
} else {
|
|
||||||
size_t i;
|
|
||||||
/* See comment in check_socket_activation above. */
|
|
||||||
diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerfiles/centos8.docker
|
|
||||||
index 46398c61ee..7f135f8e8c 100644
|
|
||||||
--- a/tests/docker/dockerfiles/centos8.docker
|
|
||||||
+++ b/tests/docker/dockerfiles/centos8.docker
|
|
||||||
@@ -51,6 +51,7 @@ ENV PACKAGES \
|
|
||||||
libpng-devel \
|
|
||||||
librbd-devel \
|
|
||||||
libseccomp-devel \
|
|
||||||
+ libselinux-devel \
|
|
||||||
libslirp-devel \
|
|
||||||
libssh-devel \
|
|
||||||
libtasn1-devel \
|
|
||||||
diff --git a/tests/docker/dockerfiles/fedora-i386-cross.docker b/tests/docker/dockerfiles/fedora-i386-cross.docker
|
|
||||||
index dbb8195eb1..91a7c51614 100644
|
|
||||||
--- a/tests/docker/dockerfiles/fedora-i386-cross.docker
|
|
||||||
+++ b/tests/docker/dockerfiles/fedora-i386-cross.docker
|
|
||||||
@@ -7,6 +7,7 @@ ENV PACKAGES \
|
|
||||||
gcc \
|
|
||||||
git \
|
|
||||||
libffi-devel.i686 \
|
|
||||||
+ libselinux-devel.i686 \
|
|
||||||
libtasn1-devel.i686 \
|
|
||||||
libzstd-devel.i686 \
|
|
||||||
make \
|
|
||||||
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
|
|
||||||
index eec1add7f6..c6fd7e1113 100644
|
|
||||||
--- a/tests/docker/dockerfiles/fedora.docker
|
|
||||||
+++ b/tests/docker/dockerfiles/fedora.docker
|
|
||||||
@@ -53,6 +53,7 @@ ENV PACKAGES \
|
|
||||||
libpng-devel \
|
|
||||||
librbd-devel \
|
|
||||||
libseccomp-devel \
|
|
||||||
+ libselinux-devel \
|
|
||||||
libslirp-devel \
|
|
||||||
libssh-devel \
|
|
||||||
libtasn1-devel \
|
|
||||||
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
|
|
||||||
index 5a8bee0289..3bbdb67f4f 100644
|
|
||||||
--- a/tests/docker/dockerfiles/opensuse-leap.docker
|
|
||||||
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
|
|
||||||
@@ -55,6 +55,7 @@ ENV PACKAGES \
|
|
||||||
libpulse-devel \
|
|
||||||
librbd-devel \
|
|
||||||
libseccomp-devel \
|
|
||||||
+ libselinux-devel \
|
|
||||||
libspice-server-devel \
|
|
||||||
libssh-devel \
|
|
||||||
libtasn1-devel \
|
|
||||||
diff --git a/tests/docker/dockerfiles/ubuntu1804.docker b/tests/docker/dockerfiles/ubuntu1804.docker
|
|
||||||
index 0880bf3e29..450fd06d0d 100644
|
|
||||||
--- a/tests/docker/dockerfiles/ubuntu1804.docker
|
|
||||||
+++ b/tests/docker/dockerfiles/ubuntu1804.docker
|
|
||||||
@@ -60,6 +60,7 @@ ENV PACKAGES \
|
|
||||||
libsdl2-dev \
|
|
||||||
libsdl2-image-dev \
|
|
||||||
libseccomp-dev \
|
|
||||||
+ libselinux-dev \
|
|
||||||
libsnappy-dev \
|
|
||||||
libspice-protocol-dev \
|
|
||||||
libspice-server-dev \
|
|
||||||
diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker
|
|
||||||
index 39de63d012..15a026be09 100644
|
|
||||||
--- a/tests/docker/dockerfiles/ubuntu2004.docker
|
|
||||||
+++ b/tests/docker/dockerfiles/ubuntu2004.docker
|
|
||||||
@@ -60,6 +60,7 @@ ENV PACKAGES \
|
|
||||||
libsdl2-dev \
|
|
||||||
libsdl2-image-dev \
|
|
||||||
libseccomp-dev \
|
|
||||||
+ libselinux-dev \
|
|
||||||
libslirp-dev \
|
|
||||||
libsnappy-dev \
|
|
||||||
libspice-protocol-dev \
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
|||||||
From 118d527f2e4baec5fe8060b22a6212468b8e4d3f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michael Tokarev <mjt@tls.msk.ru>
|
|
||||||
Date: Wed, 1 Sep 2021 16:16:24 +0300
|
|
||||||
Subject: [PATCH] qemu-sockets: fix unix socket path copy (again)
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Commit 4cfd970ec188558daa6214f26203fe553fb1e01f added an
|
|
||||||
assert which ensures the path within an address of a unix
|
|
||||||
socket returned from the kernel is at least one byte and
|
|
||||||
does not exceed sun_path buffer. Both of this constraints
|
|
||||||
are wrong:
|
|
||||||
|
|
||||||
A unix socket can be unnamed, in this case the path is
|
|
||||||
completely empty (not even \0)
|
|
||||||
|
|
||||||
And some implementations (notable linux) can add extra
|
|
||||||
trailing byte (\0) _after_ the sun_path buffer if we
|
|
||||||
passed buffer larger than it (and we do).
|
|
||||||
|
|
||||||
So remove the assertion (since it causes real-life breakage)
|
|
||||||
but at the same time fix the usage of sun_path. Namely,
|
|
||||||
we should not access sun_path[0] if kernel did not return
|
|
||||||
it at all (this is the case for unnamed sockets),
|
|
||||||
and use the returned salen when copyig actual path as an
|
|
||||||
upper constraint for the amount of bytes to copy - this
|
|
||||||
will ensure we wont exceed the information provided by
|
|
||||||
the kernel, regardless whenever there is a trailing \0
|
|
||||||
or not. This also helps with unnamed sockets.
|
|
||||||
|
|
||||||
Note the case of abstract socket, the sun_path is actually
|
|
||||||
a blob and can contain \0 characters, - it should not be
|
|
||||||
passed to g_strndup and the like, it should be accessed by
|
|
||||||
memcpy-like functions.
|
|
||||||
|
|
||||||
Fixes: 4cfd970ec188558daa6214f26203fe553fb1e01f
|
|
||||||
Fixes: http://bugs.debian.org/993145
|
|
||||||
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
|
||||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
||||||
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
||||||
CC: qemu-stable@nongnu.org
|
|
||||||
---
|
|
||||||
util/qemu-sockets.c | 13 +++++--------
|
|
||||||
1 file changed, 5 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
|
|
||||||
index f2f3676d1f..c5043999e9 100644
|
|
||||||
--- a/util/qemu-sockets.c
|
|
||||||
+++ b/util/qemu-sockets.c
|
|
||||||
@@ -1345,25 +1345,22 @@ socket_sockaddr_to_address_unix(struct sockaddr_storage *sa,
|
|
||||||
SocketAddress *addr;
|
|
||||||
struct sockaddr_un *su = (struct sockaddr_un *)sa;
|
|
||||||
|
|
||||||
- assert(salen >= sizeof(su->sun_family) + 1 &&
|
|
||||||
- salen <= sizeof(struct sockaddr_un));
|
|
||||||
-
|
|
||||||
addr = g_new0(SocketAddress, 1);
|
|
||||||
addr->type = SOCKET_ADDRESS_TYPE_UNIX;
|
|
||||||
+ salen -= offsetof(struct sockaddr_un, sun_path);
|
|
||||||
#ifdef CONFIG_LINUX
|
|
||||||
- if (!su->sun_path[0]) {
|
|
||||||
+ if (salen > 0 && !su->sun_path[0]) {
|
|
||||||
/* Linux abstract socket */
|
|
||||||
- addr->u.q_unix.path = g_strndup(su->sun_path + 1,
|
|
||||||
- salen - sizeof(su->sun_family) - 1);
|
|
||||||
+ addr->u.q_unix.path = g_strndup(su->sun_path + 1, salen - 1);
|
|
||||||
addr->u.q_unix.has_abstract = true;
|
|
||||||
addr->u.q_unix.abstract = true;
|
|
||||||
addr->u.q_unix.has_tight = true;
|
|
||||||
- addr->u.q_unix.tight = salen < sizeof(*su);
|
|
||||||
+ addr->u.q_unix.tight = salen < sizeof(su->sun_path);
|
|
||||||
return addr;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- addr->u.q_unix.path = g_strndup(su->sun_path, sizeof(su->sun_path));
|
|
||||||
+ addr->u.q_unix.path = g_strndup(su->sun_path, salen);
|
|
||||||
return addr;
|
|
||||||
}
|
|
||||||
#endif /* WIN32 */
|
|
@ -1,37 +0,0 @@
|
|||||||
From eb94846280df3f1e2a91b6179fc05f9890b7e384 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
|
||||||
Date: Fri, 10 Sep 2021 11:42:03 +0200
|
|
||||||
Subject: [PATCH 1/1] qxl: fix pre-save logic
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Oops. Logic is backwards.
|
|
||||||
|
|
||||||
Fixes: 39b8a183e2f3 ("qxl: remove assert in qxl_pre_save.")
|
|
||||||
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/610
|
|
||||||
Resolves: https://bugzilla.redhat.com//show_bug.cgi?id=2002907
|
|
||||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
||||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
||||||
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
||||||
Message-Id: <20210910094203.3582378-1-kraxel@redhat.com>
|
|
||||||
---
|
|
||||||
hw/display/qxl.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
|
|
||||||
index 43482d4364..29c80b4289 100644
|
|
||||||
--- a/hw/display/qxl.c
|
|
||||||
+++ b/hw/display/qxl.c
|
|
||||||
@@ -2252,7 +2252,7 @@ static int qxl_pre_save(void *opaque)
|
|
||||||
} else {
|
|
||||||
d->last_release_offset = (uint8_t *)d->last_release - ram_start;
|
|
||||||
}
|
|
||||||
- if (d->last_release_offset < d->vga.vram_size) {
|
|
||||||
+ if (d->last_release_offset >= d->vga.vram_size) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
From 45adec566b073b39f4edfc1307843d12fe8105c8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
|
|
||||||
Date: Tue, 31 Aug 2021 18:50:33 +0100
|
|
||||||
Subject: [PATCH 1/2] target/i386: add missing bits to CR4_RESERVED_MASK
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Booting Fedora kernels with -cpu max hangs very early in boot. Disabling
|
|
||||||
the la57 CPUID bit fixes the problem. git bisect traced the regression to
|
|
||||||
|
|
||||||
commit 213ff024a2f92020290296cb9dc29c2af3d4a221 (HEAD, refs/bisect/bad)
|
|
||||||
Author: Lara Lazier <laramglazier@gmail.com>
|
|
||||||
Date: Wed Jul 21 17:26:50 2021 +0200
|
|
||||||
|
|
||||||
target/i386: Added consistency checks for CR4
|
|
||||||
|
|
||||||
All MBZ bits in CR4 must be zero. (APM2 15.5)
|
|
||||||
Added reserved bitmask and added checks in both
|
|
||||||
helper_vmrun and helper_write_crN.
|
|
||||||
|
|
||||||
Signed-off-by: Lara Lazier <laramglazier@gmail.com>
|
|
||||||
Message-Id: <20210721152651.14683-2-laramglazier@gmail.com>
|
|
||||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
|
|
||||||
In this commit CR4_RESERVED_MASK is missing CR4_LA57_MASK and
|
|
||||||
two others. Adding this lets Fedora kernels boot once again.
|
|
||||||
|
|
||||||
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
||||||
---
|
|
||||||
target/i386/cpu.h | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
|
|
||||||
index 6c50d3ab4f..ce85f1a29d 100644
|
|
||||||
--- a/target/i386/cpu.h
|
|
||||||
+++ b/target/i386/cpu.h
|
|
||||||
@@ -257,6 +257,7 @@ typedef enum X86Seg {
|
|
||||||
| CR4_DE_MASK | CR4_PSE_MASK | CR4_PAE_MASK \
|
|
||||||
| CR4_MCE_MASK | CR4_PGE_MASK | CR4_PCE_MASK \
|
|
||||||
| CR4_OSFXSR_MASK | CR4_OSXMMEXCPT_MASK |CR4_UMIP_MASK \
|
|
||||||
+ | CR4_LA57_MASK | CR4_VMXE_MASK | CR4_SMXE_MASK \
|
|
||||||
| CR4_FSGSBASE_MASK | CR4_PCIDE_MASK | CR4_OSXSAVE_MASK \
|
|
||||||
| CR4_SMEP_MASK | CR4_SMAP_MASK | CR4_PKE_MASK | CR4_PKS_MASK))
|
|
||||||
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
From 5ab2a54c262c61f64c22dbb49ade3e2db8a740bb Mon Sep 17 00:00:00 2001
|
|
||||||
Message-Id: <5ab2a54c262c61f64c22dbb49ade3e2db8a740bb.1633708346.git.crobinso@redhat.com>
|
|
||||||
From: Cole Robinson <crobinso@redhat.com>
|
|
||||||
Date: Fri, 8 Oct 2021 11:47:45 -0400
|
|
||||||
Subject: [PATCH] tests: tcg: Fix PVH test with binutils 2.36+
|
|
||||||
|
|
||||||
binutils started adding a .note.gnu.property ELF section which
|
|
||||||
makes the PVH test fail:
|
|
||||||
|
|
||||||
TEST hello on x86_64
|
|
||||||
qemu-system-x86_64: Error loading uncompressed kernel without PVH ELF Note
|
|
||||||
|
|
||||||
Discard .note.gnu* while keeping the PVH .note bits intact.
|
|
||||||
|
|
||||||
This also strips the build-id note, so drop the related comment.
|
|
||||||
|
|
||||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
|
||||||
---
|
|
||||||
tests/tcg/x86_64/system/kernel.ld | 5 ++++-
|
|
||||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/tcg/x86_64/system/kernel.ld b/tests/tcg/x86_64/system/kernel.ld
|
|
||||||
index 49c12b04ae..ca5d6bd850 100644
|
|
||||||
--- a/tests/tcg/x86_64/system/kernel.ld
|
|
||||||
+++ b/tests/tcg/x86_64/system/kernel.ld
|
|
||||||
@@ -16,7 +16,10 @@ SECTIONS {
|
|
||||||
*(.rodata)
|
|
||||||
} :text
|
|
||||||
|
|
||||||
- /* Keep build ID and PVH notes in same section */
|
|
||||||
+ /DISCARD/ : {
|
|
||||||
+ *(.note.gnu*)
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
.notes : {
|
|
||||||
*(.note.*)
|
|
||||||
} :note
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
52
qemu.spec
52
qemu.spec
@ -6,7 +6,7 @@
|
|||||||
%global libfdt_version 1.6.0
|
%global libfdt_version 1.6.0
|
||||||
%global libseccomp_version 2.4.0
|
%global libseccomp_version 2.4.0
|
||||||
%global libusbx_version 1.0.23
|
%global libusbx_version 1.0.23
|
||||||
%global meson_version 0.55.3
|
%global meson_version 0.58.2
|
||||||
%global usbredir_version 0.7.1
|
%global usbredir_version 0.7.1
|
||||||
%global ipxe_version 20200823-5.git4bd064de
|
%global ipxe_version 20200823-5.git4bd064de
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ Obsoletes: %{name}-system-unicore32 <= %{epoch}:%{version}-%{release} \
|
|||||||
Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release}
|
Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
# Release candidate version tracking
|
# Release candidate version tracking
|
||||||
%dnl %global rcver rc4
|
%global rcver rc3
|
||||||
%if 0%{?rcver:1}
|
%if 0%{?rcver:1}
|
||||||
%global rcrel .%{rcver}
|
%global rcrel .%{rcver}
|
||||||
%global rcstr -%{rcver}
|
%global rcstr -%{rcver}
|
||||||
@ -286,8 +286,8 @@ Obsoletes: %{name}-system-unicore32-core <= %{epoch}:%{version}-%{release}
|
|||||||
|
|
||||||
Summary: QEMU is a FAST! processor emulator
|
Summary: QEMU is a FAST! processor emulator
|
||||||
Name: qemu
|
Name: qemu
|
||||||
Version: 6.1.0
|
Version: 6.2.0
|
||||||
Release: 13%{?rcrel}%{?dist}
|
Release: 0.1%{?rcrel}%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
License: GPLv2 and BSD and MIT and CC-BY
|
License: GPLv2 and BSD and MIT and CC-BY
|
||||||
URL: http://www.qemu.org/
|
URL: http://www.qemu.org/
|
||||||
@ -305,31 +305,9 @@ Source30: kvm-s390x.conf
|
|||||||
Source31: kvm-x86.conf
|
Source31: kvm-x86.conf
|
||||||
Source36: README.tests
|
Source36: README.tests
|
||||||
|
|
||||||
# Fix -cpu max
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1999700
|
|
||||||
Patch1: 0001-target-i386-add-missing-bits-to-CR4_RESERVED_MASK.patch
|
|
||||||
|
|
||||||
# Fix assertion on armv7hl
|
# Fix assertion on armv7hl
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1999878
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1999878
|
||||||
Patch2: 0001-tcg-arm-Reduce-vector-alignment-requirement-for-NEON.patch
|
Patch1: 0001-tcg-arm-Reduce-vector-alignment-requirement-for-NEON.patch
|
||||||
|
|
||||||
# Fix qemu crash with vnc + libvirt virDomainOpenConsole
|
|
||||||
Patch3: 0001-qemu-sockets-fix-unix-socket-path-copy-again.patch
|
|
||||||
# Fix tcg PVH test with binutils 2.36+
|
|
||||||
Patch4: 0001-tests-tcg-Fix-PVH-test-with-binutils-2.36.patch
|
|
||||||
# Fix snapshot creation with qxl graphics
|
|
||||||
# https://gitlab.com/qemu-project/qemu/-/issues/610
|
|
||||||
# https://gitlab.com/qemu-project/qemu/-/commit/eb94846
|
|
||||||
Patch5: 0001-qxl-fix-pre-save-logic.patch
|
|
||||||
|
|
||||||
# Add support for qemu-nbd --selinux-relabel option
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1984938
|
|
||||||
# Upstream in 6.2.
|
|
||||||
Patch6: 0001-nbd-server-Add-selinux-label-option.patch
|
|
||||||
|
|
||||||
# Fix iov length limits for scsi-generic
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2026747
|
|
||||||
Patch7: 0001-block-introduce-max_hw_iov-for-use-in-scsi-generic.patch
|
|
||||||
|
|
||||||
BuildRequires: meson >= %{meson_version}
|
BuildRequires: meson >= %{meson_version}
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
@ -1253,7 +1231,6 @@ mkdir -p %{static_builddir}
|
|||||||
--disable-hax \\\
|
--disable-hax \\\
|
||||||
--disable-hvf \\\
|
--disable-hvf \\\
|
||||||
--disable-iconv \\\
|
--disable-iconv \\\
|
||||||
--disable-jemalloc \\\
|
|
||||||
--disable-kvm \\\
|
--disable-kvm \\\
|
||||||
--disable-libdaxctl \\\
|
--disable-libdaxctl \\\
|
||||||
--disable-libiscsi \\\
|
--disable-libiscsi \\\
|
||||||
@ -1305,7 +1282,6 @@ mkdir -p %{static_builddir}
|
|||||||
--disable-strip \\\
|
--disable-strip \\\
|
||||||
--disable-system \\\
|
--disable-system \\\
|
||||||
--disable-tcg \\\
|
--disable-tcg \\\
|
||||||
--disable-tcmalloc \\\
|
|
||||||
--disable-tools \\\
|
--disable-tools \\\
|
||||||
--disable-tpm \\\
|
--disable-tpm \\\
|
||||||
--disable-u2f \\\
|
--disable-u2f \\\
|
||||||
@ -1362,7 +1338,7 @@ run_configure() {
|
|||||||
--with-suffix="%{name}" \
|
--with-suffix="%{name}" \
|
||||||
--firmwarepath="%firmwaredirs" \
|
--firmwarepath="%firmwaredirs" \
|
||||||
--meson="%{__meson}" \
|
--meson="%{__meson}" \
|
||||||
--enable-trace-backend=dtrace \
|
--enable-trace-backends=dtrace \
|
||||||
--with-coroutine=ucontext \
|
--with-coroutine=ucontext \
|
||||||
--with-git=git \
|
--with-git=git \
|
||||||
--tls-priority=@QEMU,SYSTEM \
|
--tls-priority=@QEMU,SYSTEM \
|
||||||
@ -1393,13 +1369,13 @@ run_configure \
|
|||||||
%endif
|
%endif
|
||||||
--enable-bpf \
|
--enable-bpf \
|
||||||
--enable-cap-ng \
|
--enable-cap-ng \
|
||||||
--enable-capstone \
|
--enable-capstone=system \
|
||||||
--enable-coroutine-pool \
|
--enable-coroutine-pool \
|
||||||
--enable-curl \
|
--enable-curl \
|
||||||
--enable-debug-info \
|
--enable-debug-info \
|
||||||
--enable-docs \
|
--enable-docs \
|
||||||
%if %{have_fdt}
|
%if %{have_fdt}
|
||||||
--enable-fdt \
|
--enable-fdt=system \
|
||||||
%endif
|
%endif
|
||||||
--enable-gnutls \
|
--enable-gnutls \
|
||||||
--enable-guest-agent \
|
--enable-guest-agent \
|
||||||
@ -1463,7 +1439,7 @@ run_configure \
|
|||||||
--enable-xkbcommon \
|
--enable-xkbcommon \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
--audio-drv-list=pa,sdl,alsa,try-jack,oss \
|
--audio-drv-list=pa,sdl,alsa,jack,oss \
|
||||||
--target-list-exclude=moxie-softmmu \
|
--target-list-exclude=moxie-softmmu \
|
||||||
--with-default-devices \
|
--with-default-devices \
|
||||||
--enable-auth-pam \
|
--enable-auth-pam \
|
||||||
@ -1554,7 +1530,7 @@ run_configure \
|
|||||||
--enable-attr \
|
--enable-attr \
|
||||||
--enable-linux-user \
|
--enable-linux-user \
|
||||||
--enable-tcg \
|
--enable-tcg \
|
||||||
--disable-blobs \
|
--disable-install-blobs \
|
||||||
--static
|
--static
|
||||||
|
|
||||||
%make_build
|
%make_build
|
||||||
@ -1639,12 +1615,12 @@ install -m 0644 -t %{buildroot}%{_datadir}/%{name}/tracetool/format scripts/trac
|
|||||||
# Create new directories and put them all under tests-src
|
# Create new directories and put them all under tests-src
|
||||||
mkdir -p %{buildroot}%{testsdir}/python
|
mkdir -p %{buildroot}%{testsdir}/python
|
||||||
mkdir -p %{buildroot}%{testsdir}/tests
|
mkdir -p %{buildroot}%{testsdir}/tests
|
||||||
mkdir -p %{buildroot}%{testsdir}/tests/acceptance
|
mkdir -p %{buildroot}%{testsdir}/tests/avocado
|
||||||
mkdir -p %{buildroot}%{testsdir}/tests/qemu-iotests
|
mkdir -p %{buildroot}%{testsdir}/tests/qemu-iotests
|
||||||
mkdir -p %{buildroot}%{testsdir}/scripts/qmp
|
mkdir -p %{buildroot}%{testsdir}/scripts/qmp
|
||||||
|
|
||||||
# Install avocado_qemu tests
|
# Install avocado_qemu tests
|
||||||
cp -R %{qemu_kvm_build}/tests/acceptance/* %{buildroot}%{testsdir}/tests/acceptance/
|
cp -R %{qemu_kvm_build}/tests/avocado/* %{buildroot}%{testsdir}/tests/avocado/
|
||||||
|
|
||||||
# Install qemu.py and qmp/ scripts required to run avocado_qemu tests
|
# Install qemu.py and qmp/ scripts required to run avocado_qemu tests
|
||||||
cp -R %{qemu_kvm_build}/python/qemu %{buildroot}%{testsdir}/python
|
cp -R %{qemu_kvm_build}/python/qemu %{buildroot}%{testsdir}/python
|
||||||
@ -2250,6 +2226,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%{_datadir}/%{name}/kvmvapic.bin
|
%{_datadir}/%{name}/kvmvapic.bin
|
||||||
%{_datadir}/%{name}/linuxboot.bin
|
%{_datadir}/%{name}/linuxboot.bin
|
||||||
%{_datadir}/%{name}/multiboot.bin
|
%{_datadir}/%{name}/multiboot.bin
|
||||||
|
%{_datadir}/%{name}/multiboot_dma.bin
|
||||||
%{_datadir}/%{name}/pvh.bin
|
%{_datadir}/%{name}/pvh.bin
|
||||||
%{_datadir}/%{name}/qboot.rom
|
%{_datadir}/%{name}/qboot.rom
|
||||||
%if %{need_qemu_kvm}
|
%if %{need_qemu_kvm}
|
||||||
@ -2270,6 +2247,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 03 2021 Eduardo Lima (Etrunko) <etrunko@redhat.com> - 6.2.0-0.1-rc3
|
||||||
|
- Rebase to qemu 6.2.0-rc3
|
||||||
|
|
||||||
* Thu Nov 25 2021 Daniel P. Berrangé <berrange@redhat.com> - 6.1.0-13
|
* Thu Nov 25 2021 Daniel P. Berrangé <berrange@redhat.com> - 6.1.0-13
|
||||||
- Fix iovec limits with scsi-generic
|
- Fix iovec limits with scsi-generic
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (qemu-6.1.0.tar.xz) = 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c
|
SHA512 (qemu-6.2.0-rc3.tar.xz) = e3da3da4b24d48c1458b498838180df18111a5fde4f1a2b85097219ea75acd4efd66ffeb1170fc8f0b0a759e5b91acc50b0fa8fda04eb037f10f4d1204db6f67
|
||||||
|
Loading…
Reference in New Issue
Block a user