diff options
author | Peter Maydell | 2022-04-02 10:36:07 +0200 |
---|---|---|
committer | Peter Maydell | 2022-04-02 10:36:07 +0200 |
commit | bc6ec396d471d9e4aae7e2ff8b72e11da9a97665 (patch) | |
tree | d504611b32e6052e385a97e96e115d6e2dba2f7b /hw/9pfs/9p.c | |
parent | Merge tag 'pull-target-arm-20220401' of https://git.linaro.org/people/pmaydel... (diff) | |
parent | trace: fix compilation with lttng-ust >= 2.13 (diff) | |
download | qemu-bc6ec396d471d9e4aae7e2ff8b72e11da9a97665.tar.gz qemu-bc6ec396d471d9e4aae7e2ff8b72e11da9a97665.tar.xz qemu-bc6ec396d471d9e4aae7e2ff8b72e11da9a97665.zip |
Merge tag 'pull-request-2022-04-01' of https://gitlab.com/thuth/qemu into staging
* Fix some compilation issues
* Fix overflow calculation in s390x emulation
* Update location of lockdown.yml in MAINTAINERS file
# gpg: Signature made Fri 01 Apr 2022 12:27:38 BST
# gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg: issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg: aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5
* tag 'pull-request-2022-04-01' of https://gitlab.com/thuth/qemu:
trace: fix compilation with lttng-ust >= 2.13
9p: move P9_XATTR_SIZE_MAX from 9p.h to 9p.c
meson.build: Fix dependency of page-vary-common.c to config-poison.h
target/s390x: Fix determination of overflow condition code after subtraction
target/s390x: Fix determination of overflow condition code after addition
misc: Fixes MAINTAINERS's path .github/workflows/lockdown.yml
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/9pfs/9p.c')
-rw-r--r-- | hw/9pfs/9p.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index dcaa602d4c..225f31fc31 100644 --- a/hw/9pfs/9p.c +++ b/hw/9pfs/9p.c @@ -17,6 +17,11 @@ */ #include "qemu/osdep.h" +#ifdef CONFIG_LINUX +#include <linux/limits.h> +#else +#include <limits.h> +#endif #include <glib/gprintf.h> #include "hw/virtio/virtio.h" #include "qapi/error.h" @@ -33,11 +38,6 @@ #include "migration/blocker.h" #include "qemu/xxhash.h" #include <math.h> -#ifdef CONFIG_LINUX -#include <linux/limits.h> -#else -#include <limits.h> -#endif int open_fd_hw; int total_open_fd; @@ -3925,6 +3925,24 @@ out_nofid: v9fs_string_free(&name); } +#if defined(CONFIG_LINUX) +/* Currently, only Linux has XATTR_SIZE_MAX */ +#define P9_XATTR_SIZE_MAX XATTR_SIZE_MAX +#elif defined(CONFIG_DARWIN) +/* + * Darwin doesn't seem to define a maximum xattr size in its user + * space header, so manually configure it across platforms as 64k. + * + * Having no limit at all can lead to QEMU crashing during large g_malloc() + * calls. Because QEMU does not currently support macOS guests, the below + * preliminary solution only works due to its being a reflection of the limit of + * Linux guests. + */ +#define P9_XATTR_SIZE_MAX 65536 +#else +#error Missing definition for P9_XATTR_SIZE_MAX for this host system +#endif + static void coroutine_fn v9fs_xattrcreate(void *opaque) { int flags, rflags = 0; |