On Mon, Jul 14, 2025 at 5:05 PM Paolo Abeni <pab...@redhat.com> wrote: > > On 7/14/25 10:43 AM, Lei Yang wrote: > > Does the compile of this series of patches require support for a > > special kernel environment? I hit a compile issue after applied you > > patches: > > [1440/2928] Compiling C object libsystem.a.p/hw_virtio_vhost.c.o > > FAILED: libsystem.a.p/hw_virtio_vhost.c.o > > cc -m64 -Ilibsystem.a.p -I. -I.. -Isubprojects/dtc/libfdt > > -I../subprojects/dtc/libfdt -Isubprojects/libvduse > > -I../subprojects/libvduse -Iui -Iqapi -Itrace -Iui/shader > > -I/usr/include/pixman-1 -I/usr/include/glib-2.0 > > -I/usr/lib64/glib-2.0/include -I/usr/include/libmount > > -I/usr/include/blkid -I/usr/include/sysprof-6 > > -I/usr/include/gio-unix-2.0 -I/usr/include/slirp > > -fdiagnostics-color=auto -Wall -Winvalid-pch -Werror -std=gnu11 -O0 -g > > -fstack-protector-strong -Wempty-body -Wendif-labels > > -Wexpansion-to-defined -Wformat-security -Wformat-y2k > > -Wignored-qualifiers -Wimplicit-fallthrough=2 -Winit-self > > -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs > > -Wold-style-declaration -Wold-style-definition -Wredundant-decls > > -Wshadow=local -Wstrict-prototypes -Wtype-limits -Wundef -Wvla > > -Wwrite-strings -Wno-missing-include-dirs -Wno-psabi > > -Wno-shift-negative-value -isystem > > /mnt/tests/distribution/command/qemu/linux-headers -isystem > > linux-headers -iquote . -iquote /mnt/tests/distribution/command/qemu > > -iquote /mnt/tests/distribution/command/qemu/include -iquote > > /mnt/tests/distribution/command/qemu/host/include/x86_64 -iquote > > /mnt/tests/distribution/command/qemu/host/include/generic -iquote > > /mnt/tests/distribution/command/qemu/tcg/i386 -pthread -mcx16 -msse2 > > -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > > -fno-strict-aliasing -fno-common -fwrapv -ftrivial-auto-var-init=zero > > -fzero-call-used-regs=used-gpr -fPIE -DWITH_GZFILEOP -DCONFIG_SOFTMMU > > -DCOMPILING_SYSTEM_VS_USER -MD -MQ libsystem.a.p/hw_virtio_vhost.c.o > > -MF libsystem.a.p/hw_virtio_vhost.c.o.d -o > > libsystem.a.p/hw_virtio_vhost.c.o -c ../hw/virtio/vhost.c > > ../hw/virtio/vhost.c: In function ‘vhost_dev_set_features’: > > ../hw/virtio/vhost.c:38:9: error: ‘r’ may be used uninitialized > > [-Werror=maybe-uninitialized] > > 38 | error_report(fmt ": %s (%d)", ## __VA_ARGS__, \ > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 39 | strerror(-retval), -retval); \ > > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../hw/virtio/vhost.c:1006:9: note: in expansion of macro ‘VHOST_OPS_DEBUG’ > > 1006 | VHOST_OPS_DEBUG(r, "extended features without device > > support"); > > | ^~~~~~~~~~~~~~~ > > ../hw/virtio/vhost.c:989:9: note: ‘r’ was declared here > > 989 | int r; > > | ^ > > cc1: all warnings being treated as errors > > ninja: build stopped: subcommand failed. > > make[1]: *** [Makefile:168: run-ninja] Error 1 > > make[1]: Leaving directory '/mnt/tests/distribution/command/qemu/build' > > make[1]: Entering directory '/mnt/tests/distribution/command/qemu/build' > > [1/1493] Generating subprojects/dtc/version_gen.h with a custom command > > [2/1493] Generating qemu-version.h with a custom command (wrapped by > > meson to capture output) > > [3/1492] Compiling C object libsystem.a.p/hw_virtio_vhost.c.o > > FAILED: libsystem.a.p/hw_virtio_vhost.c.o > > cc -m64 -Ilibsystem.a.p -I. -I.. -Isubprojects/dtc/libfdt > > -I../subprojects/dtc/libfdt -Isubprojects/libvduse > > -I../subprojects/libvduse -Iui -Iqapi -Itrace -Iui/shader > > -I/usr/include/pixman-1 -I/usr/include/glib-2.0 > > -I/usr/lib64/glib-2.0/include -I/usr/include/libmount > > -I/usr/include/blkid -I/usr/include/sysprof-6 > > -I/usr/include/gio-unix-2.0 -I/usr/include/slirp > > -fdiagnostics-color=auto -Wall -Winvalid-pch -Werror -std=gnu11 -O0 -g > > -fstack-protector-strong -Wempty-body -Wendif-labels > > -Wexpansion-to-defined -Wformat-security -Wformat-y2k > > -Wignored-qualifiers -Wimplicit-fallthrough=2 -Winit-self > > -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs > > -Wold-style-declaration -Wold-style-definition -Wredundant-decls > > -Wshadow=local -Wstrict-prototypes -Wtype-limits -Wundef -Wvla > > -Wwrite-strings -Wno-missing-include-dirs -Wno-psabi > > -Wno-shift-negative-value -isystem > > /mnt/tests/distribution/command/qemu/linux-headers -isystem > > linux-headers -iquote . -iquote /mnt/tests/distribution/command/qemu > > -iquote /mnt/tests/distribution/command/qemu/include -iquote > > /mnt/tests/distribution/command/qemu/host/include/x86_64 -iquote > > /mnt/tests/distribution/command/qemu/host/include/generic -iquote > > /mnt/tests/distribution/command/qemu/tcg/i386 -pthread -mcx16 -msse2 > > -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > > -fno-strict-aliasing -fno-common -fwrapv -ftrivial-auto-var-init=zero > > -fzero-call-used-regs=used-gpr -fPIE -DWITH_GZFILEOP -DCONFIG_SOFTMMU > > -DCOMPILING_SYSTEM_VS_USER -MD -MQ libsystem.a.p/hw_virtio_vhost.c.o > > -MF libsystem.a.p/hw_virtio_vhost.c.o.d -o > > libsystem.a.p/hw_virtio_vhost.c.o -c ../hw/virtio/vhost.c > > ../hw/virtio/vhost.c: In function ‘vhost_dev_set_features’: > > ../hw/virtio/vhost.c:38:9: error: ‘r’ may be used uninitialized > > [-Werror=maybe-uninitialized] > > 38 | error_report(fmt ": %s (%d)", ## __VA_ARGS__, \ > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 39 | strerror(-retval), -retval); \ > > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../hw/virtio/vhost.c:1006:9: note: in expansion of macro ‘VHOST_OPS_DEBUG’ > > 1006 | VHOST_OPS_DEBUG(r, "extended features without device > > support"); > > | ^~~~~~~~~~~~~~~ > > ../hw/virtio/vhost.c:989:9: note: ‘r’ was declared here > > 989 | int r; > > | ^ > > cc1: all warnings being treated as errors > > ninja: build stopped: subcommand failed. > > make[1]: *** [Makefile:168: run-ninja] Error 1 > > make[1]: Leaving directory '/mnt/tests/distribution/command/qemu/build' > > Thank you for reporting the problem. > > No special kernel requirement to build the series, the above is just a > gross mistake on my side in patch 7/13. If you want to test the series, > please apply incrementally the following diff. > > What baffles me is that gcc 14.3.1 and 11.5.0 are not raising the > warning (that looks legit/correct) here. > > I'll fix the above in the next revision. > > Note that you need a running kernel based on current net-next tree in > both the hypervisor and the guest to actually leverage the new feature.
Ok, I will test this series again and update the test results. Thanks Lei > > Thanks, > > Paolo > --- > diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c > index 2eee9b0886..c4eab5ce08 100644 > --- a/hw/virtio/vhost.c > +++ b/hw/virtio/vhost.c > @@ -1003,8 +1003,8 @@ static int vhost_dev_set_features(struct vhost_dev > *dev, > > if (virtio_features_use_extended(features) && > !dev->vhost_ops->vhost_set_features_ex) { > - VHOST_OPS_DEBUG(r, "extended features without device support"); > r = -EINVAL; > + VHOST_OPS_DEBUG(r, "extended features without device support"); > goto out; > } >