From: Paolo Bonzini <pbonzini@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>, qemu-devel@nongnu.org
Cc: Alexander Bulekov <alxndr@bu.edu>
Subject: Re: [PATCH 139/147] meson: replace create-config with meson configure_file
Date: Tue, 11 Aug 2020 19:25:24 +0200 [thread overview]
Message-ID: <b8e57a0d-fc5d-1b59-993c-28b87f89b147@redhat.com> (raw)
In-Reply-To: <3fa2ac37-b2c1-cc90-28b0-e8361472b331@redhat.com>
On 11/08/20 18:25, Philippe Mathieu-Daudé wrote:
> Alexander reported [*] a problem when ARRAY_SIZE(whitelist_rw) == 0 you
> access an undefined address:
But that's not accessing an undefined address, it's taking the address past
the last item---which should be okay. And I cannot reproduce it with:
#include <stdio.h>
const char *x[] = {};
int main()
{
printf("%p %p\n", x, &x[0]);
}
and -fsanitize=undefined, using either GCC 10 or clang 10 (it breaks horribly
with &x[1] so the testcase makes sense).
This should fix it, it should also be unnecessary but I guess I'm not going
to nitpick:
diff --git a/block.c b/block.c
index 67ca5433d5..2ba76b2c36 100644
--- a/block.c
+++ b/block.c
@@ -433,9 +433,11 @@ static int bdrv_format_is_whitelisted(const char *format_name, bool read_only)
{
static const char *whitelist_rw[] = {
CONFIG_BDRV_RW_WHITELIST
+ NULL
};
static const char *whitelist_ro[] = {
CONFIG_BDRV_RO_WHITELIST
+ NULL
};
const char **p;
@@ -443,13 +445,13 @@ static int bdrv_format_is_whitelisted(const char *format_name, bool read_only)
return 1; /* no whitelist, anything goes */
}
- for (p = whitelist_rw; p < &whitelist_rw[ARRAY_SIZE(whitelist_rw)]; p++) {
+ for (p = whitelist_rw; *p; p++) {
if (!strcmp(format_name, *p)) {
return 1;
}
}
if (read_only) {
- for (p = whitelist_ro; p < &whitelist_ro[ARRAY_SIZE(whitelist_ro)]; p++) {
+ for (p = whitelist_ro; *p; p++) {
if (!strcmp(format_name, *p)) {
return 1;
}
> The question is why CONFIG_BDRV_RW_WHITELIST & CONFIG_BDRV_RO_WHITELIST
> aren't generated by meson.build...
What do you mean? If you mean why they are in config-host.mak, it's because I have
only done a very minimal conversion from config-host.mak to Meson options.
Paolo
next prev parent reply other threads:[~2020-08-11 17:26 UTC|newest]
Thread overview: 198+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-10 17:06 [PATCH 000/147] Meson integration for 5.2 Paolo Bonzini
2020-08-10 17:06 ` [PATCH 001/147] oss-fuzz/build: remove LIB_FUZZING_ENGINE Paolo Bonzini
2020-08-10 17:06 ` [PATCH 002/147] optionrom: simplify Makefile Paolo Bonzini
2020-08-10 17:06 ` [PATCH 003/147] pc-bios/s390-ccw: do not use rules.mak Paolo Bonzini
2020-08-11 9:43 ` Cornelia Huck
2020-08-10 17:06 ` [PATCH 004/147] trace: switch position of headers to what Meson requires Paolo Bonzini
2020-08-10 17:06 ` [PATCH 005/147] meson: rename .inc.c files to .inc Paolo Bonzini
2020-08-10 17:06 ` [PATCH 006/147] build-sys hack: ensure target directory is there Paolo Bonzini
2020-08-10 17:06 ` [PATCH 007/147] tests/vm: do not pollute configure with --efi-aarch64 Paolo Bonzini
2020-08-11 16:04 ` Philippe Mathieu-Daudé
2020-08-12 13:08 ` Robert Foley
2020-08-10 17:06 ` [PATCH 008/147] tests/vm: check for Python YAML parser in the Makefile Paolo Bonzini
2020-08-10 17:06 ` [PATCH 009/147] tests/docker: add test script for static linux-user builds Paolo Bonzini
2020-08-10 17:06 ` [PATCH 010/147] nsis: use "make DESTDIR=" instead of "make prefix=" Paolo Bonzini
2020-08-10 17:06 ` [PATCH 011/147] configure: do not include $(...) variables in config-host.mak Paolo Bonzini
2020-08-10 17:06 ` [PATCH 012/147] configure: expand path variables for meson configure Paolo Bonzini
2020-08-10 17:06 ` [PATCH 013/147] configure: prepare CFLAGS/CXXFLAGS/LDFLAGS for Meson Paolo Bonzini
2020-08-10 17:06 ` [PATCH 014/147] tests/vm: include setuptools Paolo Bonzini
2020-08-10 17:06 ` [PATCH 015/147] configure: integrate Meson in the build system Paolo Bonzini
2020-08-10 17:06 ` [PATCH 016/147] configure: generate Meson cross file Paolo Bonzini
2020-08-10 17:06 ` [PATCH 017/147] build-sys hack: link with whole .fa archives Paolo Bonzini
2020-08-10 17:06 ` [PATCH 018/147] build-sys: add meson submodule Paolo Bonzini
2020-08-10 17:06 ` [PATCH 019/147] meson: move summary to meson.build Paolo Bonzini
2020-08-10 17:06 ` [PATCH 020/147] meson: enable pie Paolo Bonzini
2020-08-10 17:06 ` [PATCH 021/147] meson: use coverage option Paolo Bonzini
2020-08-10 17:07 ` [PATCH 022/147] meson: add sparse support Paolo Bonzini
2020-08-10 17:07 ` [PATCH 023/147] meson: add testsuite Makefile generator Paolo Bonzini
2020-08-10 17:07 ` [PATCH 024/147] libqemuutil, qapi, trace: convert to meson Paolo Bonzini
2020-08-10 17:07 ` [PATCH 025/147] meson: add remaining generated tcg trace helpers Paolo Bonzini
2020-08-10 17:07 ` [PATCH 026/147] meson: add version.o Paolo Bonzini
2020-08-10 17:07 ` [PATCH 027/147] contrib/libvhost-user: convert to Meson Paolo Bonzini
2020-08-10 17:07 ` [PATCH 028/147] tools/virtiofsd: " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 029/147] contrib/vhost-user-blk: " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 030/147] contrib/vhost-user-scsi: " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 031/147] contrib/rdmacm-mux: " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 032/147] contrib/vhost-user-input: convert to meson Paolo Bonzini
2020-08-10 17:07 ` [PATCH 033/147] contrib/vhost-user-gpu: " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 034/147] contrib/ivshmem: " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 035/147] contrib/elf2dmp: " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 036/147] meson: convert qemu-ga Paolo Bonzini
2020-08-10 17:07 ` [PATCH 037/147] meson: convert vss-win32 Paolo Bonzini
2020-08-10 17:07 ` [PATCH 038/147] meson: add msi generation Paolo Bonzini
2020-08-10 17:07 ` [PATCH 039/147] meson: convert dummy Windows qga/qemu-ga target Paolo Bonzini
2020-08-10 17:07 ` [PATCH 040/147] meson: add qemu-bridge-helper Paolo Bonzini
2020-08-10 17:07 ` [PATCH 041/147] meson: add qemu-keymap Paolo Bonzini
2020-08-10 17:07 ` [PATCH 042/147] meson: add qemu-edid Paolo Bonzini
2020-08-10 17:07 ` [PATCH 043/147] meson: add virtfs-proxy-helper Paolo Bonzini
2020-08-10 17:07 ` [PATCH 044/147] meson: keymap-gen Paolo Bonzini
2020-08-10 17:07 ` [PATCH 045/147] meson: generate qemu-version.h Paolo Bonzini
2020-08-10 17:07 ` [PATCH 046/147] meson: generate shader headers Paolo Bonzini
2020-08-10 17:07 ` [PATCH 047/147] meson: generate hxtool files Paolo Bonzini
2020-08-10 17:07 ` [PATCH 048/147] meson: handle edk2 bios and descriptors Paolo Bonzini
2020-08-10 17:07 ` [PATCH 049/147] meson: convert check-decodetree Paolo Bonzini
2020-08-10 17:07 ` [PATCH 050/147] meson: convert tests/fp and check-softfloat Paolo Bonzini
2020-08-10 17:07 ` [PATCH 051/147] meson: convert check-qapi-schema Paolo Bonzini
2020-08-10 17:07 ` [PATCH 052/147] meson: convert qom directory to Meson (tools part) Paolo Bonzini
2020-08-10 17:07 ` [PATCH 053/147] meson: convert authz directory to Meson Paolo Bonzini
2020-08-10 17:07 ` [PATCH 054/147] meson: convert crypto " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 055/147] meson: convert io " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 056/147] meson: convert target/s390x/gen-features.h Paolo Bonzini
2020-08-10 17:07 ` [PATCH 057/147] meson: infrastructure for building emulators Paolo Bonzini
2020-08-10 17:07 ` [PATCH 058/147] meson: add macos dependencies Paolo Bonzini
2020-08-10 17:07 ` [PATCH 059/147] meson: add modules infrastructure Paolo Bonzini
2020-08-10 17:07 ` [PATCH 060/147] meson: convert chardev directory to Meson (tools part) Paolo Bonzini
2020-08-10 17:07 ` [PATCH 061/147] meson: convert block Paolo Bonzini
2020-08-10 17:07 ` [PATCH 062/147] meson: qemu-{img,io,nbd} Paolo Bonzini
2020-08-10 17:07 ` [PATCH 063/147] meson: qemu-pr-helper Paolo Bonzini
2020-08-10 17:07 ` [PATCH 064/147] configure, Makefile; remove TOOLS and HELPERS-y variable Paolo Bonzini
2020-08-10 17:07 ` [PATCH 065/147] meson: convert chardev directory to Meson (emulator part) Paolo Bonzini
2020-08-10 17:07 ` [PATCH 066/147] meson: convert tests/qtest to meson Paolo Bonzini
2020-08-11 15:02 ` Alexander Bulekov
2020-08-10 17:07 ` [PATCH 067/147] meson: convert audio directory to Meson Paolo Bonzini
2020-08-10 17:07 ` [PATCH 068/147] meson: convert ui " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 069/147] meson: convert root " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 070/147] meson: convert most of softmmu/ Paolo Bonzini
2020-08-10 17:07 ` [PATCH 071/147] meson: convert trace/ Paolo Bonzini
2020-08-10 17:07 ` [PATCH 072/147] meson: convert dump/ Paolo Bonzini
2020-08-10 17:07 ` [PATCH 073/147] meson: convert common QMP bits for qemu and qemu-storage-daemon Paolo Bonzini
2020-08-10 17:07 ` [PATCH 074/147] meson: convert qemu-storage-daemon Paolo Bonzini
2020-08-10 17:07 ` [PATCH 075/147] meson: convert replay directory to Meson Paolo Bonzini
2020-08-10 17:07 ` [PATCH 076/147] meson: convert migration " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 077/147] meson: convert net " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 078/147] meson: convert backends " Paolo Bonzini
2020-08-10 17:07 ` [PATCH 079/147] meson: convert fsdev/ Paolo Bonzini
2020-08-10 17:07 ` [PATCH 080/147] meson: convert disas directory to Meson Paolo Bonzini
2020-08-10 17:07 ` [PATCH 081/147] meson: convert qapi-specific to meson Paolo Bonzini
2020-08-10 17:08 ` [PATCH 082/147] meson: convert hw/xen Paolo Bonzini
2020-08-10 17:08 ` [PATCH 083/147] meson: convert hw/core Paolo Bonzini
2020-08-10 17:08 ` [PATCH 084/147] meson: convert hw/semihosting Paolo Bonzini
2020-08-10 17:08 ` [PATCH 085/147] meson: convert hw/nubus Paolo Bonzini
2020-08-10 17:08 ` [PATCH 086/147] meson: convert hw/smbios Paolo Bonzini
2020-08-10 17:08 ` [PATCH 087/147] meson: convert hw/mem Paolo Bonzini
2020-08-10 17:08 ` [PATCH 088/147] meson: convert hw/watchdog Paolo Bonzini
2020-08-10 17:08 ` [PATCH 089/147] meson: convert hw/virtio Paolo Bonzini
2020-08-10 17:08 ` [PATCH 090/147] meson: convert hw/vfio Paolo Bonzini
2020-08-10 17:08 ` [PATCH 091/147] meson: convert hw/usb Paolo Bonzini
2020-08-10 17:08 ` [PATCH 092/147] meson: convert hw/tpm Paolo Bonzini
2020-08-10 17:08 ` [PATCH 093/147] meson: convert hw/timer Paolo Bonzini
2020-08-10 17:08 ` [PATCH 094/147] meson: convert hw/rtc Paolo Bonzini
2020-08-10 17:08 ` [PATCH 095/147] meson: convert hw/ssi Paolo Bonzini
2020-08-10 17:08 ` [PATCH 096/147] meson: convert hw/sd Paolo Bonzini
2020-08-11 16:06 ` Philippe Mathieu-Daudé
2020-08-10 17:08 ` [PATCH 097/147] meson: convert hw/scsi Paolo Bonzini
2020-08-10 17:08 ` [PATCH 098/147] meson: convert hw/pcmcia Paolo Bonzini
2020-08-10 17:08 ` [PATCH 099/147] meson: convert hw/pci-host Paolo Bonzini
2020-08-10 17:08 ` [PATCH 100/147] meson: convert hw/pci-bridge Paolo Bonzini
2020-08-10 17:08 ` [PATCH 101/147] meson: convert hw/pci Paolo Bonzini
2020-08-10 17:08 ` [PATCH 102/147] meson: convert hw/nvram Paolo Bonzini
2020-08-10 17:08 ` [PATCH 103/147] meson: convert hw/rdma Paolo Bonzini
2020-08-10 17:08 ` [PATCH 104/147] meson: convert hw/net Paolo Bonzini
2020-08-10 17:08 ` [PATCH 105/147] meson: convert hw/misc Paolo Bonzini
2020-08-10 17:08 ` [PATCH 106/147] meson: convert hw/isa Paolo Bonzini
2020-08-10 17:08 ` [PATCH 107/147] meson: convert hw/ipmi Paolo Bonzini
2020-08-10 17:08 ` [PATCH 108/147] meson: convert hw/ipack Paolo Bonzini
2020-08-10 17:08 ` [PATCH 109/147] meson: convert hw/intc Paolo Bonzini
2020-08-10 17:08 ` [PATCH 110/147] meson: convert hw/input Paolo Bonzini
2020-08-10 17:08 ` [PATCH 111/147] meson: convert hw/ide Paolo Bonzini
2020-08-10 17:08 ` [PATCH 112/147] meson: convert hw/i2c Paolo Bonzini
2020-08-10 17:08 ` [PATCH 113/147] meson: convert hw/hyperv Paolo Bonzini
2020-08-10 17:08 ` [PATCH 114/147] meson: convert hw/gpio Paolo Bonzini
2020-08-11 16:08 ` Philippe Mathieu-Daudé
2020-08-10 17:08 ` [PATCH 115/147] meson: convert hw/dma Paolo Bonzini
2020-08-10 17:08 ` [PATCH 116/147] meson: convert hw/display Paolo Bonzini
2020-08-10 17:08 ` [PATCH 117/147] meson: convert hw/cpu Paolo Bonzini
2020-08-10 17:08 ` [PATCH 118/147] meson: convert hw/char Paolo Bonzini
2020-08-10 17:08 ` [PATCH 119/147] meson: convert hw/block Paolo Bonzini
2020-08-10 17:08 ` [PATCH 120/147] meson: convert hw/audio Paolo Bonzini
2020-08-10 17:08 ` [PATCH 121/147] meson: convert hw/adc Paolo Bonzini
2020-08-10 17:08 ` [PATCH 122/147] meson: convert hw/acpi Paolo Bonzini
2020-08-10 17:08 ` [PATCH 123/147] meson: convert hw/9pfs, cleanup Paolo Bonzini
2020-08-10 17:08 ` [PATCH 124/147] meson: convert hw/arch* Paolo Bonzini
2020-08-10 17:08 ` [PATCH 125/147] meson: target Paolo Bonzini
2020-08-10 17:08 ` [PATCH 126/147] meson: accel Paolo Bonzini
2020-08-10 17:08 ` [PATCH 127/147] meson: linux-user Paolo Bonzini
2020-08-10 17:08 ` [PATCH 128/147] meson: bsd-user Paolo Bonzini
2020-08-10 17:08 ` [PATCH 129/147] meson: cpu-emu Paolo Bonzini
2020-08-10 17:08 ` [PATCH 130/147] meson: plugins Paolo Bonzini
2020-08-10 17:08 ` [PATCH 131/147] meson: link emulators without Makefile.target Paolo Bonzini
2020-08-11 14:59 ` Alexander Bulekov
2020-08-11 16:16 ` Philippe Mathieu-Daudé
2020-08-10 17:08 ` [PATCH 132/147] meson: convert systemtap files Paolo Bonzini
2020-08-10 17:08 ` [PATCH 133/147] rules.mak: remove version.o Paolo Bonzini
2020-08-10 17:08 ` [PATCH 134/147] remove Makefile.target Paolo Bonzini
2020-08-10 17:08 ` [PATCH 135/147] meson: sphinx-build Paolo Bonzini
2020-08-10 18:33 ` Peter Maydell
2020-08-10 19:06 ` Paolo Bonzini
2020-08-10 19:21 ` Peter Maydell
2020-08-10 19:31 ` Paolo Bonzini
2020-08-10 19:36 ` Peter Maydell
2020-08-10 19:45 ` Paolo Bonzini
2020-08-10 19:57 ` Peter Maydell
2020-08-10 20:05 ` Paolo Bonzini
2020-08-11 9:24 ` Paolo Bonzini
2020-08-10 17:08 ` [PATCH 136/147] meson: build texi doc Paolo Bonzini
2020-08-10 17:08 ` [PATCH 137/147] meson: convert check-block Paolo Bonzini
2020-08-10 17:08 ` [PATCH 138/147] rules.mak: drop unneeded macros Paolo Bonzini
2020-08-10 17:08 ` [PATCH 139/147] meson: replace create-config with meson configure_file Paolo Bonzini
2020-08-11 16:20 ` Philippe Mathieu-Daudé
2020-08-11 16:25 ` Philippe Mathieu-Daudé
2020-08-11 17:12 ` Alexander Bulekov
2020-08-11 17:16 ` Paolo Bonzini
2020-08-11 17:25 ` Alexander Bulekov
2020-08-11 17:25 ` Paolo Bonzini [this message]
2020-08-10 17:08 ` [PATCH 140/147] meson: convert sample plugins Paolo Bonzini
2020-08-10 17:08 ` [PATCH 141/147] meson: move SDL and SDL-image detection to meson Paolo Bonzini
2020-08-10 17:09 ` [PATCH 142/147] meson: convert VNC and dependent libraries " Paolo Bonzini
2020-08-10 17:09 ` [PATCH 143/147] meson: convert po/ Paolo Bonzini
2020-08-10 17:09 ` [PATCH 144/147] meson: update build-system documentation Paolo Bonzini
2020-08-10 17:09 ` [PATCH 145/147] acceptance: use stable URLs for the Debian and Ubuntu installer Paolo Bonzini
2020-08-10 17:09 ` [PATCH 146/147] cflags Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Paolo Bonzini
2020-08-10 17:09 ` [PATCH 147/147] meson: avoid unstable module warning with Meson 0.56.0 or newer Paolo Bonzini
2020-08-10 18:09 ` [PATCH 000/147] Meson integration for 5.2 Peter Maydell
2020-08-10 18:14 ` Peter Maydell
2020-08-10 18:52 ` Paolo Bonzini
2020-08-10 18:20 ` Peter Maydell
2020-08-10 18:52 ` Paolo Bonzini
2020-08-10 19:11 ` Peter Maydell
2020-08-10 19:15 ` Paolo Bonzini
2020-08-10 19:16 ` Peter Maydell
2020-08-10 19:22 ` Paolo Bonzini
2020-08-10 19:26 ` Peter Maydell
2020-08-10 19:36 ` Paolo Bonzini
2020-08-10 19:45 ` Peter Maydell
2020-08-10 19:49 ` Paolo Bonzini
2020-08-10 19:55 ` Peter Maydell
2020-08-10 20:00 ` Paolo Bonzini
2020-08-10 19:25 ` Paolo Bonzini
2020-08-10 19:27 ` Peter Maydell
2020-08-10 19:49 ` Paolo Bonzini
2020-08-11 9:41 ` Cornelia Huck
2020-08-11 11:38 ` Cornelia Huck
2020-08-11 12:04 ` Roman Bolshakov
2020-08-11 12:59 ` Paolo Bonzini
2020-08-11 14:21 ` Roman Bolshakov
2020-08-11 15:42 ` Stefano Garzarella
2020-08-12 6:32 ` Howard Spoelstra
2020-08-12 13:24 ` Philippe Mathieu-Daudé
2020-08-12 16:48 ` Howard Spoelstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b8e57a0d-fc5d-1b59-993c-28b87f89b147@redhat.com \
--to=pbonzini@redhat.com \
--cc=alxndr@bu.edu \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).