History log of /qemu/net/ (Results 151 – 175 of 1074)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7f211a2815-Dec-2022 Eugenio Pérez <eperezma@redhat.com>

vdpa: store x-svq parameter in VhostVDPAState

CVQ can be shadowed two ways:
- Device has x-svq=on parameter (current way)
- The device can isolate CVQ in its own vq group

QEMU needs to check for th

vdpa: store x-svq parameter in VhostVDPAState

CVQ can be shadowed two ways:
- Device has x-svq=on parameter (current way)
- The device can isolate CVQ in its own vq group

QEMU needs to check for the second condition dynamically, because CVQ
index is not known before the driver ack the features. Since this is
dynamic, the CVQ isolation could vary with different conditions, making
it possible to go from "not isolated group" to "isolated".

Saving the cmdline parameter in an extra field so we never disable CVQ
SVQ in case the device was started with x-svq cmdline.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221215113144.322011-11-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

cd831ed515-Dec-2022 Eugenio Pérez <eperezma@redhat.com>

vdpa: add asid parameter to vhost_vdpa_dma_map/unmap

So the caller can choose which ASID is destined.

No need to update the batch functions as they will always be called from
memory listener update

vdpa: add asid parameter to vhost_vdpa_dma_map/unmap

So the caller can choose which ASID is destined.

No need to update the batch functions as they will always be called from
memory listener updates at the moment. Memory listener updates will
always update ASID 0, as it's the passthrough ASID.

All vhost devices's ASID are 0 at this moment.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221215113144.322011-10-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

258a039415-Dec-2022 Eugenio Pérez <eperezma@redhat.com>

vdpa: move SVQ vring features check to net/

The next patches will start control SVQ if possible. However, we don't
know if that will be possible at qemu boot anymore.

Since the moved checks will be

vdpa: move SVQ vring features check to net/

The next patches will start control SVQ if possible. However, we don't
know if that will be possible at qemu boot anymore.

Since the moved checks will be already evaluated at net/ to know if it
is ok to shadow CVQ, move them.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221215113144.322011-8-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

a585fad215-Dec-2022 Eugenio Pérez <eperezma@redhat.com>

vdpa: request iova_range only once

Currently iova range is requested once per queue pair in the case of
net. Reduce the number of ioctls asking it once at initialization and
reusing that value for e

vdpa: request iova_range only once

Currently iova range is requested once per queue pair in the case of
net. Reduce the number of ioctls asking it once at initialization and
reusing that value for each vhost_vdpa.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20221215113144.322011-7-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasonwang@redhat.com>

show more ...

36e4647215-Dec-2022 Eugenio Pérez <eperezma@redhat.com>

vdpa: add vhost_vdpa_net_valid_svq_features

It will be reused at vdpa device start so let's extract in its own
function.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jas

vdpa: add vhost_vdpa_net_valid_svq_features

It will be reused at vdpa device start so let's extract in its own
function.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221215113144.322011-6-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/.gitlab/issue_templates/bug.md
/qemu/MAINTAINERS
/qemu/block.c
/qemu/block/block-backend.c
/qemu/block/block-copy.c
/qemu/block/block-gen.h
/qemu/block/commit.c
/qemu/block/coroutines.h
/qemu/block/crypto.c
/qemu/block/dirty-bitmap.c
/qemu/block/graph-lock.c
/qemu/block/io.c
/qemu/block/meson.build
/qemu/block/parallels.c
/qemu/block/qcow.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/raw-format.c
/qemu/block/replication.c
/qemu/block/stream.c
/qemu/block/throttle.c
/qemu/block/vdi.c
/qemu/block/vhdx.c
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/docs/devel/block-coroutine-wrapper.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/arm/virt.rst
/qemu/hw/acpi/ich9.c
/qemu/hw/acpi/tco.c
/qemu/hw/acpi/trace-events
/qemu/hw/arm/boot.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/virt.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev.c
/qemu/hw/core/trace-events
/qemu/hw/display/Kconfig
/qemu/hw/display/virtio-vga.c
/qemu/hw/display/virtio-vga.h
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/xen/xen_platform.c
/qemu/hw/input/adb.c
/qemu/hw/input/ps2.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gic_kvm.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_dist.c
/qemu/hw/intc/arm_gicv3_its.c
/qemu/hw/intc/arm_gicv3_its_common.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/arm_gicv3_kvm.c
/qemu/hw/intc/xics.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/trace-events
/qemu/hw/loongarch/Kconfig
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/virt.c
/qemu/hw/misc/imx6_src.c
/qemu/hw/misc/iotkit-sysctl.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/mos6522.c
/qemu/hw/net/Kconfig
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-host/pnv_phb.c
/qemu/hw/pci-host/pnv_phb3_msi.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_bridge.c
/qemu/hw/ppc/spapr.c
/qemu/hw/remote/vfio-user-obj.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-pci-vfio.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/usb/dev-uas.c
/qemu/hw/virtio/Kconfig
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/vdpa-dev-pci.c
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-shadow-virtqueue.c
/qemu/hw/virtio/vhost-shadow-virtqueue.h
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/watchdog/trace-events
/qemu/hw/watchdog/watchdog.c
/qemu/include/block/aio.h
/qemu/include/block/block-common.h
/qemu/include/block/block-copy.h
/qemu/include/block/block-global-state.h
/qemu/include/block/block-io.h
/qemu/include/block/block_int-common.h
/qemu/include/block/block_int-global-state.h
/qemu/include/block/block_int-io.h
/qemu/include/block/block_int.h
/qemu/include/block/dirty-bitmap.h
/qemu/include/block/graph-lock.h
/qemu/include/hw/arm/smmuv3.h
/qemu/include/hw/arm/virt.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/input/ps2.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/misc/mos6522.h
/qemu/include/hw/misc/xlnx-zynqmp-apu-ctrl.h
/qemu/include/hw/pci/pcie_port.h
/qemu/include/hw/ppc/xics.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/s390x/s390-pci-bus.h
/qemu/include/hw/virtio/vdpa-dev.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/qemu/clang-tsa.h
/qemu/include/sysemu/block-backend-io.h
/qemu/meson_options.txt
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/monitor/misc.c
/qemu/nbd/server.c
vhost-vdpa.c
/qemu/scripts/block-coroutine-wrapper.py
/qemu/scripts/make-release
/qemu/stubs/graph-lock.c
/qemu/stubs/meson.build
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/cpu_tcg.c
/qemu/target/arm/helper.c
/qemu/target/arm/kvm-consts.h
/qemu/target/avr/cpu-qom.h
/qemu/target/avr/cpu.c
/qemu/target/cris/cpu-qom.h
/qemu/target/cris/cpu.c
/qemu/target/hexagon/README
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hexagon/decode.c
/qemu/target/hexagon/gen_helper_funcs.py
/qemu/target/hexagon/gen_helper_protos.py
/qemu/target/hexagon/gen_idef_parser_funcs.py
/qemu/target/hexagon/gen_tcg.h
/qemu/target/hexagon/gen_tcg_funcs.py
/qemu/target/hexagon/gen_tcg_hvx.h
/qemu/target/hexagon/genptr.c
/qemu/target/hexagon/genptr.h
/qemu/target/hexagon/hex_common.py
/qemu/target/hexagon/idef-parser/README.rst
/qemu/target/hexagon/idef-parser/idef-parser.h
/qemu/target/hexagon/idef-parser/idef-parser.lex
/qemu/target/hexagon/idef-parser/idef-parser.y
/qemu/target/hexagon/idef-parser/macros.inc
/qemu/target/hexagon/idef-parser/parser-helpers.c
/qemu/target/hexagon/idef-parser/parser-helpers.h
/qemu/target/hexagon/idef-parser/prepare
/qemu/target/hexagon/insn.h
/qemu/target/hexagon/macros.h
/qemu/target/hexagon/meson.build
/qemu/target/hexagon/mmvec/macros.h
/qemu/target/hexagon/op_helper.c
/qemu/target/hexagon/op_helper.h
/qemu/target/hexagon/translate.c
/qemu/target/hexagon/translate.h
/qemu/target/i386/cpu-qom.h
/qemu/target/i386/cpu.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/m68k/cpu-qom.h
/qemu/target/m68k/cpu.c
/qemu/target/microblaze/cpu-qom.h
/qemu/target/microblaze/cpu.c
/qemu/target/mips/cpu-qom.h
/qemu/target/mips/cpu.c
/qemu/target/nios2/cpu.c
/qemu/target/nios2/cpu.h
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu_init.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/rx/cpu-qom.h
/qemu/target/rx/cpu.c
/qemu/target/s390x/helper.h
/qemu/target/s390x/tcg/insn-data.h.inc
/qemu/target/s390x/tcg/mem_helper.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu-qom.h
/qemu/target/sh4/cpu.c
/qemu/target/sparc/cpu-qom.h
/qemu/target/sparc/cpu.c
/qemu/target/tricore/cpu-qom.h
/qemu/target/tricore/cpu.c
/qemu/target/tricore/gdbstub.c
/qemu/target/xtensa/cpu-qom.h
/qemu/target/xtensa/cpu.c
/qemu/tests/qtest/e1000e-test.c
/qemu/tests/qtest/libqos/e1000e.c
/qemu/tests/qtest/libqos/e1000e.h
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/tco-test.c
/qemu/tests/qtest/vhost-user-blk-test.c
/qemu/tests/tcg/hexagon/Makefile.target
/qemu/tests/tcg/hexagon/crt.S
/qemu/tests/tcg/hexagon/hvx_misc.c
/qemu/tests/tcg/hexagon/test_abs.S
/qemu/tests/tcg/hexagon/test_bitcnt.S
/qemu/tests/tcg/hexagon/test_bitsplit.S
/qemu/tests/tcg/hexagon/test_call.S
/qemu/tests/tcg/hexagon/test_clobber.S
/qemu/tests/tcg/hexagon/test_cmp.S
/qemu/tests/tcg/hexagon/test_dotnew.S
/qemu/tests/tcg/hexagon/test_ext.S
/qemu/tests/tcg/hexagon/test_fibonacci.S
/qemu/tests/tcg/hexagon/test_hl.S
/qemu/tests/tcg/hexagon/test_hwloops.S
/qemu/tests/tcg/hexagon/test_jmp.S
/qemu/tests/tcg/hexagon/test_lsr.S
/qemu/tests/tcg/hexagon/test_mpyi.S
/qemu/tests/tcg/hexagon/test_packet.S
/qemu/tests/tcg/hexagon/test_reorder.S
/qemu/tests/tcg/hexagon/test_round.S
/qemu/tests/tcg/hexagon/test_vavgw.S
/qemu/tests/tcg/hexagon/test_vcmpb.S
/qemu/tests/tcg/hexagon/test_vcmpw.S
/qemu/tests/tcg/hexagon/test_vlsrw.S
/qemu/tests/tcg/hexagon/test_vmaxh.S
/qemu/tests/tcg/hexagon/test_vminh.S
/qemu/tests/tcg/hexagon/test_vpmpyh.S
/qemu/tests/tcg/hexagon/test_vspliceb.S
/qemu/tests/tcg/hexagon/usr.c
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/vm/freebsd
/qemu/util/async.c
/qemu/util/oslib-win32.c
/qemu/util/qemu-config.c
7480874a04-Nov-2022 Markus Armbruster <armbru@redhat.com>

qapi net: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redu

qapi net: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/net.json.

Said commit explains the transformation in more detail. The invariant
violations mentioned there do not occur here.

Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221104160712.3005652-19-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[Fixes for MacOS squashed in]

show more ...


/qemu/VERSION
/qemu/audio/alsaaudio.c
/qemu/audio/audio.c
/qemu/audio/audio_legacy.c
/qemu/audio/ossaudio.c
/qemu/audio/paaudio.c
/qemu/audio/sndioaudio.c
/qemu/audio/wavaudio.c
/qemu/backends/cryptodev-vhost.c
/qemu/backends/vhost-user.c
/qemu/block/block-backend.c
/qemu/block/copy-before-write.c
/qemu/block/dirty-bitmap.c
/qemu/block/export/export.c
/qemu/block/export/vduse-blk.c
/qemu/block/gluster.c
/qemu/block/monitor/block-hmp-cmds.c
/qemu/block/qapi-sysemu.c
/qemu/block/qapi.c
/qemu/block/qcow.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/quorum.c
/qemu/block/rbd.c
/qemu/block/ssh.c
/qemu/blockdev-nbd.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/chardev/char-file.c
/qemu/chardev/char-socket.c
/qemu/chardev/char-udp.c
/qemu/chardev/char.c
/qemu/crypto/block-luks.c
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/writing-monitor-commands.rst
/qemu/dump/dump.c
/qemu/hw/acpi/core.c
/qemu/hw/acpi/cpu.c
/qemu/hw/acpi/memory_hotplug.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/core/machine-hmp-cmds.c
/qemu/hw/core/machine-qmp-cmds.c
/qemu/hw/core/machine.c
/qemu/hw/core/numa.c
/qemu/hw/display/next-fb.c
/qemu/hw/display/qxl-logger.c
/qemu/hw/display/qxl-render.c
/qemu/hw/display/qxl.c
/qemu/hw/display/qxl.h
/qemu/hw/mem/pc-dimm.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/scsi/vhost-scsi-common.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-i2c.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vsock-common.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-mem-pci.c
/qemu/hw/virtio/virtio-pmem-pci.c
/qemu/include/hw/virtio/vhost-user-gpio.h
/qemu/include/hw/virtio/vhost-user.h
/qemu/include/hw/virtio/vhost.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/monitor/monitor.h
/qemu/job-qmp.c
/qemu/migration/block-dirty-bitmap.c
/qemu/migration/colo.c
/qemu/migration/migration.c
/qemu/monitor/hmp-cmds.c
/qemu/monitor/misc.c
/qemu/monitor/qmp-cmds.c
/qemu/nbd/server.c
announce.c
hub.c
l2tpv3.c
net.c
slirp.c
socket.c
tap-win32.c
tap.c
vhost-vdpa.c
vmnet-host.c
vmnet-shared.c
/qemu/pc-bios/bios-256k.bin
/qemu/pc-bios/bios-microvm.bin
/qemu/pc-bios/bios.bin
/qemu/pc-bios/vgabios-ati.bin
/qemu/pc-bios/vgabios-bochs-display.bin
/qemu/pc-bios/vgabios-cirrus.bin
/qemu/pc-bios/vgabios-qxl.bin
/qemu/pc-bios/vgabios-ramfb.bin
/qemu/pc-bios/vgabios-stdvga.bin
/qemu/pc-bios/vgabios-virtio.bin
/qemu/pc-bios/vgabios-vmware.bin
/qemu/pc-bios/vgabios.bin
/qemu/qemu-img.c
/qemu/qemu-nbd.c
/qemu/replay/replay-internal.h
/qemu/roms/seabios
/qemu/scripts/qapi/commands.py
/qemu/scripts/qapi/events.py
/qemu/scripts/qapi/gen.py
/qemu/scripts/qapi/schema.py
/qemu/scripts/qapi/types.py
/qemu/scripts/qapi/visit.py
/qemu/softmmu/vl.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu_tcg.c
/qemu/target/arm/internals.h
/qemu/target/arm/monitor.c
/qemu/target/i386/cpu-sysemu.c
/qemu/target/i386/cpu.c
/qemu/target/i386/tcg/decode-new.c.inc
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/s390x/cpu_models_sysemu.c
/qemu/target/s390x/tcg/cc_helper.c
/qemu/target/s390x/tcg/insn-data.h.inc
/qemu/tests/qtest/libqos/virtio-gpio.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/qmp-cmd-test.c
/qemu/tests/unit/test-char.c
/qemu/tests/unit/test-crypto-block.c
/qemu/tests/unit/test-qmp-cmds.c
/qemu/tests/unit/test-qmp-event.c
/qemu/tests/unit/test-qobject-input-visitor.c
/qemu/tests/unit/test-qobject-output-visitor.c
/qemu/tests/unit/test-visitor-serialization.c
/qemu/ui/cocoa.m
/qemu/util/qemu-config.c
d1c81c3421-Nov-2022 Markus Armbruster <armbru@redhat.com>

qapi: Use returned bool to check for failure (again)

Commit 012d4c96e2 changed the visitor functions taking Error ** to
return bool instead of void, and the commits following it used the new
return

qapi: Use returned bool to check for failure (again)

Commit 012d4c96e2 changed the visitor functions taking Error ** to
return bool instead of void, and the commits following it used the new
return value to simplify error checking. Since then a few more uses
in need of the same treatment crept in. Do that. All pretty
mechanical except for

* balloon_stats_get_all()

This is basically the same transformation commit 012d4c96e2 applied
to the virtual walk example in include/qapi/visitor.h.

* set_max_queue_size()

Additionally replace "goto end of function" by return.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221121085054.683122-10-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/backends/cryptodev-vhost.c
/qemu/backends/vhost-user.c
/qemu/block/blkdebug.c
/qemu/block/block-backend.c
/qemu/block/copy-before-write.c
/qemu/bsd-user/elfload.c
/qemu/contrib/plugins/cache.c
/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/qemu/dump/dump.c
/qemu/hw/arm/armsse.c
/qemu/hw/arm/virt.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-clock.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/qdev.c
/qemu/hw/display/next-fb.c
/qemu/hw/display/qxl-logger.c
/qemu/hw/display/qxl-render.c
/qemu/hw/display/qxl.c
/qemu/hw/display/qxl.h
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/pc.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/pci/msi.c
/qemu/hw/rdma/vmw/pvrdma_cmd.c
/qemu/hw/rdma/vmw/pvrdma_qp_ops.c
/qemu/hw/remote/vfio-user-obj.c
/qemu/hw/scsi/vhost-scsi-common.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-i2c.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost-vsock-common.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-mem.c
/qemu/include/hw/virtio/vhost-user-gpio.h
/qemu/include/hw/virtio/vhost-user.h
/qemu/include/hw/virtio/vhost.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/qemu/config-file.h
/qemu/iothread.c
/qemu/linux-user/syscall.c
/qemu/monitor/misc.c
/qemu/monitor/monitor.c
/qemu/monitor/qmp-cmds.c
colo-compare.c
/qemu/pc-bios/bios-256k.bin
/qemu/pc-bios/bios-microvm.bin
/qemu/pc-bios/bios.bin
/qemu/pc-bios/vgabios-ati.bin
/qemu/pc-bios/vgabios-bochs-display.bin
/qemu/pc-bios/vgabios-cirrus.bin
/qemu/pc-bios/vgabios-qxl.bin
/qemu/pc-bios/vgabios-ramfb.bin
/qemu/pc-bios/vgabios-stdvga.bin
/qemu/pc-bios/vgabios-virtio.bin
/qemu/pc-bios/vgabios-vmware.bin
/qemu/pc-bios/vgabios.bin
/qemu/qga/commands-win32.c
/qemu/replay/replay-internal.h
/qemu/roms/seabios
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu_tcg.c
/qemu/target/arm/internals.h
/qemu/target/i386/hax/hax-all.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/tcg/decode-new.c.inc
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/s390x/tcg/cc_helper.c
/qemu/target/s390x/tcg/insn-data.h.inc
/qemu/tests/qtest/libqos/virtio-gpio.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/tcg/aarch64/system/semiheap.c
/qemu/ui/util.c
/qemu/util/qemu-config.c
/qemu/util/qemu-sockets.c
/qemu/util/thread-context.c
/qemu/util/vfio-helpers.c
ac14949826-Nov-2022 Stefan Weil via <qemu-devel@nongnu.org>

Add G_GNUC_PRINTF to function qemu_set_info_str and fix related issues

With the G_GNUC_PRINTF function attribute the compiler detects
two potential insecure format strings:

../../../net/stream.c:24

Add G_GNUC_PRINTF to function qemu_set_info_str and fix related issues

With the G_GNUC_PRINTF function attribute the compiler detects
two potential insecure format strings:

../../../net/stream.c:248:31: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
qemu_set_info_str(&s->nc, uri);
^~~
../../../net/stream.c:322:31: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
qemu_set_info_str(&s->nc, uri);
^~~

There are also two other warnings:

../../../net/socket.c:182:35: warning: zero-length gnu_printf format string [-Wformat-zero-length]
182 | qemu_set_info_str(&s->nc, "");
| ^~
../../../net/stream.c:170:35: warning: zero-length gnu_printf format string [-Wformat-zero-length]
170 | qemu_set_info_str(&s->nc, "");

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20221126152507.283271-7-sw@weilnetz.de>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/cirrus/macos-12.vars
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/chardev/char-win-stdio.c
/qemu/configure
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/devel/code-of-conduct.rst
/qemu/docs/devel/index-process.rst
/qemu/docs/devel/maintainers.rst
/qemu/docs/devel/submitting-a-patch.rst
/qemu/docs/devel/submitting-a-pull-request.rst
/qemu/docs/system/s390x/bootdevices.rst
/qemu/hw/audio/intel-hda.c
/qemu/hw/intc/arm_gic.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/piix3.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/net/rtl8139.c
/qemu/hw/s390x/ipl.h
/qemu/hw/s390x/s390-pci-vfio.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/sd/allwinner-sdhost.c
/qemu/hw/usb/hcd-xhci-pci.c
/qemu/hw/usb/hcd-xhci-sysbus.c
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/redirect.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/ram_addr.h
/qemu/include/exec/ramblock.h
/qemu/include/hw/sd/allwinner-sdhost.h
/qemu/include/net/net.h
/qemu/include/qemu/bitmap.h
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/block.c
/qemu/migration/channel-block.c
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/migration/qemu-file.c
/qemu/migration/ram.c
socket.c
stream.c
/qemu/pc-bios/s390-ccw/cio.h
/qemu/pc-bios/s390-ccw/iplb.h
/qemu/pc-bios/s390-ccw/start.S
/qemu/scripts/meson-buildoptions.sh
/qemu/subprojects/libvhost-user/libvhost-user.c
/qemu/target/arm/ptw.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/s390x/cpu_models.h
/qemu/target/s390x/ioinst.c
/qemu/target/s390x/tcg/excp_helper.c
/qemu/target/s390x/tcg/fpu_helper.c
/qemu/target/s390x/tcg/misc_helper.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/s390x/tcg/translate_vx.c.inc
/qemu/tests/avocado/acpi-bits.py
/qemu/tests/avocado/boot_linux.py
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/avocado/machine_aarch64_virt.py
/qemu/tests/avocado/machine_arm_canona1100.py
/qemu/tests/avocado/machine_aspeed.py
/qemu/tests/avocado/machine_microblaze.py
/qemu/tests/avocado/machine_sparc64_sun4u.py
/qemu/tests/avocado/ppc_mpc8544ds.py
/qemu/tests/avocado/ppc_virtex_ml507.py
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/data/acpi/pc/DSDT
/qemu/tests/data/acpi/pc/DSDT.acpierst
/qemu/tests/data/acpi/pc/DSDT.acpihmat
/qemu/tests/data/acpi/pc/DSDT.bridge
/qemu/tests/data/acpi/pc/DSDT.cphp
/qemu/tests/data/acpi/pc/DSDT.dimmpxm
/qemu/tests/data/acpi/pc/DSDT.hpbridge
/qemu/tests/data/acpi/pc/DSDT.hpbrroot
/qemu/tests/data/acpi/pc/DSDT.ipmikcs
/qemu/tests/data/acpi/pc/DSDT.memhp
/qemu/tests/data/acpi/pc/DSDT.nohpet
/qemu/tests/data/acpi/pc/DSDT.numamem
/qemu/tests/data/acpi/pc/DSDT.roothp
/qemu/tests/data/acpi/q35/DSDT
/qemu/tests/data/acpi/q35/DSDT.acpierst
/qemu/tests/data/acpi/q35/DSDT.acpihmat
/qemu/tests/data/acpi/q35/DSDT.acpihmat-noinitiator
/qemu/tests/data/acpi/q35/DSDT.applesmc
/qemu/tests/data/acpi/q35/DSDT.bridge
/qemu/tests/data/acpi/q35/DSDT.core-count2
/qemu/tests/data/acpi/q35/DSDT.cphp
/qemu/tests/data/acpi/q35/DSDT.cxl
/qemu/tests/data/acpi/q35/DSDT.dimmpxm
/qemu/tests/data/acpi/q35/DSDT.ipmibt
/qemu/tests/data/acpi/q35/DSDT.ipmismbus
/qemu/tests/data/acpi/q35/DSDT.ivrs
/qemu/tests/data/acpi/q35/DSDT.memhp
/qemu/tests/data/acpi/q35/DSDT.mmio64
/qemu/tests/data/acpi/q35/DSDT.multi-bridge
/qemu/tests/data/acpi/q35/DSDT.nohpet
/qemu/tests/data/acpi/q35/DSDT.numamem
/qemu/tests/data/acpi/q35/DSDT.pvpanic-isa
/qemu/tests/data/acpi/q35/DSDT.tis.tpm12
/qemu/tests/data/acpi/q35/DSDT.tis.tpm2
/qemu/tests/data/acpi/q35/DSDT.viot
/qemu/tests/data/acpi/q35/DSDT.xapic
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/common.rc
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/refresh
/qemu/tests/qtest/qom-test.c
/qemu/tools/virtiofsd/passthrough_seccomp.c
/qemu/ui/gtk-egl.c
/qemu/ui/gtk-gl-area.c
/qemu/ui/gtk.c
/qemu/ui/meson.build
/qemu/util/bitmap.c
562a7d2321-Nov-2022 Stefano Garzarella <sgarzare@redhat.com>

vhost: mask VIRTIO_F_RING_RESET for vhost and vhost-user devices

Commit 69e1c14aa2 ("virtio: core: vq reset feature negotation support")
enabled VIRTIO_F_RING_RESET by default for all virtio devices

vhost: mask VIRTIO_F_RING_RESET for vhost and vhost-user devices

Commit 69e1c14aa2 ("virtio: core: vq reset feature negotation support")
enabled VIRTIO_F_RING_RESET by default for all virtio devices.

This feature is not currently emulated by QEMU, so for vhost and
vhost-user devices we need to make sure it is supported by the offloaded
device emulation (in-kernel or in another process).
To do this we need to add VIRTIO_F_RING_RESET to the features bitmap
passed to vhost_get_features(). This way it will be masked if the device
does not support it.

This issue was initially discovered with vhost-vsock and vhost-user-vsock,
and then also tested with vhost-user-rng which confirmed the same issue.
They fail when sending features through VHOST_SET_FEATURES ioctl or
VHOST_USER_SET_FEATURES message, since VIRTIO_F_RING_RESET is negotiated
by the guest (Linux >= v6.0), but not supported by the device.

Fixes: 69e1c14aa2 ("virtio: core: vq reset feature negotation support")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1318
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20221121101101.29400-1-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Acked-by: Jason Wang <jasowang@redhat.com>

show more ...


/qemu/MAINTAINERS
/qemu/VERSION
/qemu/block.c
/qemu/block/blkio.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/blockjob.c
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/system/devices/can.rst
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/display/ati_2d.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/cirrus_vga_isa.c
/qemu/hw/display/vga-isa.c
/qemu/hw/display/vga-mmio.c
/qemu/hw/display/vga-pci.c
/qemu/hw/display/vga.c
/qemu/hw/display/vga_int.h
/qemu/hw/display/vmware_vga.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/loongarch/virt.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/pci-host/pnv_phb.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/scsi/vhost-user-scsi.c
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-i2c.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-vsock-common.c
/qemu/include/block/block-global-state.h
/qemu/include/block/block-io.h
/qemu/include/block/block_int-common.h
/qemu/include/exec/memory.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/qemu/typedefs.h
vhost-vdpa.c
/qemu/qapi/block-core.json
/qemu/qapi/virtio.json
/qemu/qemu-options.hx
/qemu/scripts/checkpatch.pl
/qemu/subprojects/libvduse/libvduse.c
/qemu/target/i386/tcg/translate.c
/qemu/tests/qemu-iotests/151
/qemu/tests/qemu-iotests/151.out
/qemu/tests/qemu-iotests/tests/stream-under-throttle
/qemu/tests/qemu-iotests/tests/stream-under-throttle.out
/qemu/tests/qtest/libqos/qgraph.h
/qemu/tests/qtest/libqos/virtio-9p.c
/qemu/tests/tcg/x86_64/Makefile.target
/qemu/tests/tcg/x86_64/cmpxchg.c
f469150b14-Jun-2021 Ahmed Abouzied <email@aabouzied.com>

net: Replace TAB indentations with spaces

Replaces TABs with spaces, making sure to have a consistent coding style
of 4 space indentations in the net subsystem.

Resolves: https://gitlab.com/qemu-pr

net: Replace TAB indentations with spaces

Replaces TABs with spaces, making sure to have a consistent coding style
of 4 space indentations in the net subsystem.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/377
Signed-off-by: Ahmed Abouzied <email@aabouzied.com>
Message-Id: <20210614183849.20622-1-email@aabouzied.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
[thuth: Fixed mis-aligned indentation in some of the files]
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

bc5add1d08-Nov-2022 Si-Wei Liu <si-wei.liu@oracle.com>

vhost-vdpa: fix assert !virtio_net_get_subqueue(nc)->async_tx.elem in virtio_net_reset

The citing commit has incorrect code in vhost_vdpa_receive() that returns
zero instead of full packet size to t

vhost-vdpa: fix assert !virtio_net_get_subqueue(nc)->async_tx.elem in virtio_net_reset

The citing commit has incorrect code in vhost_vdpa_receive() that returns
zero instead of full packet size to the caller. This renders pending packets
unable to be freed so then get clogged in the tx queue forever. When device
is being reset later on, below assertion failure ensues:

0 0x00007f86d53bb387 in raise () from /lib64/libc.so.6
1 0x00007f86d53bca78 in abort () from /lib64/libc.so.6
2 0x00007f86d53b41a6 in __assert_fail_base () from /lib64/libc.so.6
3 0x00007f86d53b4252 in __assert_fail () from /lib64/libc.so.6
4 0x000055b8f6ff6fcc in virtio_net_reset (vdev=<optimized out>) at /usr/src/debug/qemu/hw/net/virtio-net.c:563
5 0x000055b8f7012fcf in virtio_reset (opaque=0x55b8faf881f0) at /usr/src/debug/qemu/hw/virtio/virtio.c:1993
6 0x000055b8f71f0086 in virtio_bus_reset (bus=bus@entry=0x55b8faf88178) at /usr/src/debug/qemu/hw/virtio/virtio-bus.c:102
7 0x000055b8f71f1620 in virtio_pci_reset (qdev=<optimized out>) at /usr/src/debug/qemu/hw/virtio/virtio-pci.c:1845
8 0x000055b8f6fafc6c in memory_region_write_accessor (mr=<optimized out>, addr=<optimized out>, value=<optimized out>,
size=<optimized out>, shift=<optimized out>, mask=<optimized out>, attrs=...) at /usr/src/debug/qemu/memory.c:483
9 0x000055b8f6fadce9 in access_with_adjusted_size (addr=addr@entry=20, value=value@entry=0x7f867e7fb7e8, size=size@entry=1,
access_size_min=<optimized out>, access_size_max=<optimized out>, access_fn=0x55b8f6fafc20 <memory_region_write_accessor>,
mr=0x55b8faf80a50, attrs=...) at /usr/src/debug/qemu/memory.c:544
10 0x000055b8f6fb1d0b in memory_region_dispatch_write (mr=mr@entry=0x55b8faf80a50, addr=addr@entry=20, data=0, op=<optimized out>,
attrs=attrs@entry=...) at /usr/src/debug/qemu/memory.c:1470
11 0x000055b8f6f62ada in flatview_write_continue (fv=fv@entry=0x7f86ac04cd20, addr=addr@entry=549755813908, attrs=...,
attrs@entry=..., buf=buf@entry=0x7f86d0223028 <Address 0x7f86d0223028 out of bounds>, len=len@entry=1, addr1=20, l=1,
mr=0x55b8faf80a50) at /usr/src/debug/qemu/exec.c:3266
12 0x000055b8f6f62c8f in flatview_write (fv=0x7f86ac04cd20, addr=549755813908, attrs=...,
buf=0x7f86d0223028 <Address 0x7f86d0223028 out of bounds>, len=1) at /usr/src/debug/qemu/exec.c:3306
13 0x000055b8f6f674cb in address_space_write (as=<optimized out>, addr=<optimized out>, attrs=..., buf=<optimized out>,
len=<optimized out>) at /usr/src/debug/qemu/exec.c:3396
14 0x000055b8f6f67575 in address_space_rw (as=<optimized out>, addr=<optimized out>, attrs=..., attrs@entry=...,
buf=buf@entry=0x7f86d0223028 <Address 0x7f86d0223028 out of bounds>, len=<optimized out>, is_write=<optimized out>)
at /usr/src/debug/qemu/exec.c:3406
15 0x000055b8f6fc1cc8 in kvm_cpu_exec (cpu=cpu@entry=0x55b8f9aa0e10) at /usr/src/debug/qemu/accel/kvm/kvm-all.c:2410
16 0x000055b8f6fa5f5e in qemu_kvm_cpu_thread_fn (arg=0x55b8f9aa0e10) at /usr/src/debug/qemu/cpus.c:1318
17 0x000055b8f7336e16 in qemu_thread_start (args=0x55b8f9ac8480) at /usr/src/debug/qemu/util/qemu-thread-posix.c:519
18 0x00007f86d575aea5 in start_thread () from /lib64/libpthread.so.0
19 0x00007f86d5483b2d in clone () from /lib64/libc.so.6

Make vhost_vdpa_receive() return the size passed in as is, so that the
caller qemu_deliver_packet_iov() would eventually propagate it back to
virtio_net_flush_tx() to release pending packets from the async_tx queue.
Which corresponds to the drop path where qemu_sendv_packet_async() returns
non-zero in virtio_net_flush_tx().

Fixes: 846a1e85da64 ("vdpa: Add dummy receive callback")
Cc: Eugenio Perez Martin <eperezma@redhat.com>
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20221108041929.18417-2-jasowang@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/MAINTAINERS
/qemu/accel/accel-softmmu.c
/qemu/accel/tcg/cpu-exec-common.c
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/internal.h
/qemu/accel/tcg/tb-maint.c
/qemu/accel/tcg/translate-all.c
/qemu/audio/audio.c
/qemu/backends/cryptodev-builtin.c
/qemu/backends/cryptodev-lkcf.c
/qemu/backends/cryptodev-vhost-user.c
/qemu/backends/cryptodev.c
/qemu/backends/meson.build
/qemu/block.c
/qemu/block/blkio.c
/qemu/block/dmg.c
/qemu/block/vvfat.c
/qemu/configure
/qemu/contrib/plugins/Makefile
/qemu/contrib/plugins/execlog.c
/qemu/cpu.c
/qemu/crypto/akcipher.c
/qemu/crypto/der.c
/qemu/crypto/der.h
/qemu/crypto/rsakey.c
/qemu/crypto/rsakey.h
/qemu/disas/nanomips.c
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/devel/index-build.rst
/qemu/docs/devel/testing.rst
/qemu/docs/system/arm/cpu-features.rst
/qemu/docs/system/loongarch/loongson3.rst
/qemu/docs/tools/virtiofsd.rst
/qemu/gdb-xml/i386-32bit.xml
/qemu/hw/acpi/aml-build-stub.c
/qemu/hw/acpi/aml-build.c
/qemu/hw/acpi/erst.c
/qemu/hw/acpi/nvdimm.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/boot.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/meson.build
/qemu/hw/display/acpi-vga-stub.c
/qemu/hw/display/acpi-vga.c
/qemu/hw/display/blizzard.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/meson.build
/qemu/hw/display/omap_dss.c
/qemu/hw/display/pxa2xx_lcd.c
/qemu/hw/display/vga-pci.c
/qemu/hw/display/vga_int.h
/qemu/hw/display/vga_regs.h
/qemu/hw/display/xenfb.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/e820_memory_layout.c
/qemu/hw/i386/e820_memory_layout.h
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/fw_cfg.h
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/intel_iommu_internal.h
/qemu/hw/i386/microvm.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/trace-events
/qemu/hw/i386/x86.c
/qemu/hw/ide/macio.c
/qemu/hw/intc/heathrow_pic.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/openpic.c
/qemu/hw/intc/trace-events
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/piix3.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/gpio.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/rocker/rocker.c
/qemu/hw/net/vhost_net-stub.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/nvme.h
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci-host/grackle.c
/qemu/hw/pci-host/uninorth.c
/qemu/hw/pci/meson.build
/qemu/hw/pci/msix.c
/qemu/hw/pci/pcie_doe.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/rdma/vmw/pvrdma_main.c
/qemu/hw/remote/vfio-user-obj.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-pci-kvm.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/smbios/smbios.c
/qemu/hw/smbios/smbios_build.h
/qemu/hw/usb/dev-hub.c
/qemu/hw/usb/dev-mtp.c
/qemu/hw/usb/dev-network.c
/qemu/hw/usb/dev-wacom.c
/qemu/hw/usb/hcd-musb.c
/qemu/hw/usb/quirks-pl2303-ids.h
/qemu/hw/vfio/common.c
/qemu/hw/vfio/migration.c
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-i2c.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-user-vsock.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-iommu-pci.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio-rng-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/meson.build
/qemu/include/crypto/akcipher.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/memory.h
/qemu/include/exec/translator.h
/qemu/include/hw/acpi/acpi_aml_interface.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/cxl/cxl_component.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/cxl/cxl_pci.h
/qemu/include/hw/firmware/smbios.h
/qemu/include/hw/i386/intel_iommu.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/misc/macio/macio.h
/qemu/include/hw/nvram/mac_nvram.h
/qemu/include/hw/pci-host/grackle.h
/qemu/include/hw/pci-host/ls7a.h
/qemu/include/hw/pci/msix.h
/qemu/include/hw/pci/pci_bus.h
/qemu/include/hw/pci/pci_ids.h
/qemu/include/hw/pci/pcie.h
/qemu/include/hw/pci/pcie_doe.h
/qemu/include/hw/pci/pcie_regs.h
/qemu/include/hw/s390x/s390-virtio-ccw.h
/qemu/include/hw/usb.h
/qemu/include/hw/usb/dwc2-regs.h
/qemu/include/hw/virtio/vhost.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/net/vhost_net.h
/qemu/include/qemu/async-teardown.h
/qemu/include/qemu/main-loop.h
/qemu/include/qemu/module.h
/qemu/include/sysemu/cryptodev.h
/qemu/linux-user/hppa/cpu_loop.c
/qemu/linux-user/strace.list
/qemu/linux-user/syscall.c
/qemu/meson.build
vhost-vdpa.c
/qemu/os-posix.c
/qemu/qapi/block-core.json
/qemu/qapi/qom.json
/qemu/qapi/virtio.json
/qemu/qemu-options.hx
/qemu/qga/qapi-schema.json
/qemu/qom/object.c
/qemu/scripts/checkpatch.pl
/qemu/scripts/feature_to_c.sh
/qemu/semihosting/arm-compat-semi.c
/qemu/softmmu/memory.c
/qemu/softmmu/qtest.c
/qemu/target/alpha/helper.c
/qemu/target/alpha/mem_helper.c
/qemu/target/arm/helper.c
/qemu/target/arm/op_helper.c
/qemu/target/arm/ptw.c
/qemu/target/arm/sve_helper.c
/qemu/target/arm/tlb_helper.c
/qemu/target/cris/helper.c
/qemu/target/i386/helper.c
/qemu/target/i386/helper.h
/qemu/target/i386/kvm/kvm-stub.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/kvm/kvm_i386.h
/qemu/target/i386/tcg/cc_helper.c
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/i386/tcg/sysemu/svm_helper.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/insn_trans/trans_farith.c.inc
/qemu/target/loongarch/insn_trans/trans_fcmp.c.inc
/qemu/target/loongarch/insn_trans/trans_fmemory.c.inc
/qemu/target/loongarch/insn_trans/trans_fmov.c.inc
/qemu/target/loongarch/insn_trans/trans_privileged.c.inc
/qemu/target/loongarch/iocsr_helper.c
/qemu/target/loongarch/tlb_helper.c
/qemu/target/loongarch/translate.c
/qemu/target/loongarch/translate.h
/qemu/target/m68k/op_helper.c
/qemu/target/m68k/qregs.h.inc
/qemu/target/m68k/translate.c
/qemu/target/microblaze/helper.c
/qemu/target/mips/cpu-defs.c.inc
/qemu/target/mips/cpu.c
/qemu/target/mips/tcg/octeon.decode
/qemu/target/mips/tcg/translate.c
/qemu/target/nios2/op_helper.c
/qemu/target/openrisc/sys_helper.c
/qemu/target/ppc/excp_helper.c
/qemu/target/s390x/tcg/excp_helper.c
/qemu/target/s390x/tcg/insn-data.h.inc
/qemu/target/s390x/tcg/insn-format.h.inc
/qemu/target/s390x/tcg/translate.c
/qemu/target/tricore/csfr.h.inc
/qemu/target/tricore/op_helper.c
/qemu/target/tricore/translate.c
/qemu/target/xtensa/helper.c
/qemu/tcg/sparc64/tcg-target-con-set.h
/qemu/tcg/sparc64/tcg-target-con-str.h
/qemu/tcg/sparc64/tcg-target.c.inc
/qemu/tcg/sparc64/tcg-target.h
/qemu/tcg/tcg.c
/qemu/tests/avocado/acpi-bits.py
/qemu/tests/avocado/acpi-bits/bits-config/bits-cfg.txt
/qemu/tests/avocado/acpi-bits/bits-tests/smbios.py2
/qemu/tests/avocado/acpi-bits/bits-tests/testacpi.py2
/qemu/tests/avocado/acpi-bits/bits-tests/testcpuid.py2
/qemu/tests/avocado/boot_linux.py
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/avocado/info_usernet.py
/qemu/tests/avocado/vnc.py
/qemu/tests/data/acpi/pc/DSDT
/qemu/tests/data/acpi/pc/DSDT.acpierst
/qemu/tests/data/acpi/pc/DSDT.acpihmat
/qemu/tests/data/acpi/pc/DSDT.bridge
/qemu/tests/data/acpi/pc/DSDT.cphp
/qemu/tests/data/acpi/pc/DSDT.dimmpxm
/qemu/tests/data/acpi/pc/DSDT.hpbridge
/qemu/tests/data/acpi/pc/DSDT.hpbrroot
/qemu/tests/data/acpi/pc/DSDT.ipmikcs
/qemu/tests/data/acpi/pc/DSDT.memhp
/qemu/tests/data/acpi/pc/DSDT.nohpet
/qemu/tests/data/acpi/pc/DSDT.numamem
/qemu/tests/data/acpi/pc/DSDT.roothp
/qemu/tests/data/acpi/pc/SSDT.dimmpxm
/qemu/tests/data/acpi/q35/APIC.acpihmat-noinitiator
/qemu/tests/data/acpi/q35/APIC.core-count2
/qemu/tests/data/acpi/q35/DSDT
/qemu/tests/data/acpi/q35/DSDT.acpierst
/qemu/tests/data/acpi/q35/DSDT.acpihmat
/qemu/tests/data/acpi/q35/DSDT.acpihmat-noinitiator
/qemu/tests/data/acpi/q35/DSDT.applesmc
/qemu/tests/data/acpi/q35/DSDT.bridge
/qemu/tests/data/acpi/q35/DSDT.core-count2
/qemu/tests/data/acpi/q35/DSDT.cphp
/qemu/tests/data/acpi/q35/DSDT.cxl
/qemu/tests/data/acpi/q35/DSDT.dimmpxm
/qemu/tests/data/acpi/q35/DSDT.ipmibt
/qemu/tests/data/acpi/q35/DSDT.ipmismbus
/qemu/tests/data/acpi/q35/DSDT.ivrs
/qemu/tests/data/acpi/q35/DSDT.memhp
/qemu/tests/data/acpi/q35/DSDT.mmio64
/qemu/tests/data/acpi/q35/DSDT.multi-bridge
/qemu/tests/data/acpi/q35/DSDT.nohpet
/qemu/tests/data/acpi/q35/DSDT.numamem
/qemu/tests/data/acpi/q35/DSDT.pvpanic-isa
/qemu/tests/data/acpi/q35/DSDT.tis.tpm12
/qemu/tests/data/acpi/q35/DSDT.tis.tpm2
/qemu/tests/data/acpi/q35/DSDT.viot
/qemu/tests/data/acpi/q35/DSDT.xapic
/qemu/tests/data/acpi/q35/FACP.core-count2
/qemu/tests/data/acpi/q35/HMAT.acpihmat-noinitiator
/qemu/tests/data/acpi/q35/SRAT.acpihmat-noinitiator
/qemu/tests/data/acpi/q35/SSDT.dimmpxm
/qemu/tests/data/acpi/virt/APIC
/qemu/tests/data/acpi/virt/APIC.acpihmatvirt
/qemu/tests/data/acpi/virt/APIC.memhp
/qemu/tests/data/acpi/virt/APIC.numamem
/qemu/tests/data/acpi/virt/DSDT.acpihmatvirt
/qemu/tests/data/acpi/virt/FACP
/qemu/tests/data/acpi/virt/FACP.memhp
/qemu/tests/data/acpi/virt/FACP.numamem
/qemu/tests/data/acpi/virt/HMAT.acpihmatvirt
/qemu/tests/data/acpi/virt/PPTT.acpihmatvirt
/qemu/tests/data/acpi/virt/SRAT.acpihmatvirt
/qemu/tests/data/acpi/virt/SSDT.memhp
/qemu/tests/docker/dockerfiles/debian-all-test-cross.docker
/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/qemu/tests/docker/test-mingw
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/refresh
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/e1000e-test.c
/qemu/tests/qtest/libqos/e1000e.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/munmap-pthread.c
/qemu/tests/tcg/nios2/10m50-ghrd.ld
/qemu/tests/tcg/nios2/Makefile.softmmu-target
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/unit/test-crypto-der.c
/qemu/tests/unit/test-io-channel-command.c
/qemu/tests/vm/basevm.py
/qemu/ui/console.c
/qemu/ui/vgafont.h
/qemu/ui/vnc-enc-zywrle-template.c
/qemu/ui/vnc-enc-zywrle.h
/qemu/ui/vnc_keysym.h
/qemu/util/aio-win32.c
/qemu/util/async-teardown.c
/qemu/util/log.c
/qemu/util/main-loop.c
/qemu/util/meson.build
/qemu/util/module.c
/qemu/util/qemu-config.c
5107fd3e31-Oct-2022 Peter Maydell <peter.maydell@linaro.org>

net/vhost-vdpa.c: Fix clang compilation failure

Commit 8801ccd0500437 introduced a compilation failure with clang
version 10.0.0-4ubuntu1:

../../net/vhost-vdpa.c:654:16: error: variable 'vdpa_devic

net/vhost-vdpa.c: Fix clang compilation failure

Commit 8801ccd0500437 introduced a compilation failure with clang
version 10.0.0-4ubuntu1:

../../net/vhost-vdpa.c:654:16: error: variable 'vdpa_device_fd' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
} else if (opts->has_vhostfd) {
^~~~~~~~~~~~~~~~~
../../net/vhost-vdpa.c:662:33: note: uninitialized use occurs here
r = vhost_vdpa_get_features(vdpa_device_fd, &features, errp);
^~~~~~~~~~~~~~
../../net/vhost-vdpa.c:654:12: note: remove the 'if' if its condition
is always true
} else if (opts->has_vhostfd) {
^~~~~~~~~~~~~~~~~~~~~~~
../../net/vhost-vdpa.c:629:23: note: initialize the variable
'vdpa_device_fd' to silence this warning
int vdpa_device_fd;
^
= 0
1 error generated.

It's a false positive -- the compiler doesn't manage to figure out
that the error checks further up mean that there's no code path where
vdpa_device_fd isn't initialized. Put another way, the problem is
that we check "if (opts->has_vhostfd)" when in fact that condition
must always be true. A cleverer static analyser would probably warn
that we were checking an always-true condition.

Fix the compilation failure by removing the unnecessary if().

Fixes: 8801ccd0500437 ("vhost-vdpa: allow passing opened vhostfd to vhost-vdpa")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20221031132901.1277150-1-peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/qemu/.gitlab-ci.d/cirrus/freebsd-12.vars
/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/qemu/MAINTAINERS
/qemu/accel/dummy-cpus.c
/qemu/accel/meson.build
/qemu/accel/qtest/meson.build
/qemu/backends/cryptodev-vhost-user.c
/qemu/backends/hostmem.c
/qemu/backends/rng-egd.c
/qemu/backends/rng-random.c
/qemu/backends/vhost-user.c
/qemu/block.c
/qemu/block/backup.c
/qemu/block/blkdebug.c
/qemu/block/blkio.c
/qemu/block/blklogwrites.c
/qemu/block/blkreplay.c
/qemu/block/blkverify.c
/qemu/block/block-backend.c
/qemu/block/block-ram-registrar.c
/qemu/block/bochs.c
/qemu/block/cloop.c
/qemu/block/commit.c
/qemu/block/copy-before-write.c
/qemu/block/copy-on-read.c
/qemu/block/crypto.c
/qemu/block/dmg.c
/qemu/block/export/export.c
/qemu/block/file-posix.c
/qemu/block/filter-compress.c
/qemu/block/gluster.c
/qemu/block/io.c
/qemu/block/io_uring.c
/qemu/block/meson.build
/qemu/block/mirror.c
/qemu/block/monitor/block-hmp-cmds.c
/qemu/block/nbd.c
/qemu/block/nfs.c
/qemu/block/nvme.c
/qemu/block/parallels.c
/qemu/block/preallocate.c
/qemu/block/qcow.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2-snapshot.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/qed-table.c
/qemu/block/qed.c
/qemu/block/raw-format.c
/qemu/block/replication.c
/qemu/block/snapshot-access.c
/qemu/block/snapshot.c
/qemu/block/ssh.c
/qemu/block/throttle.c
/qemu/block/vdi.c
/qemu/block/vhdx.c
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/block/vvfat.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/bsd-user/host/i386/host-signal.h
/qemu/bsd-user/host/x86_64/host-signal.h
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/crypto/block-luks-priv.h
/qemu/crypto/block-luks.c
/qemu/crypto/pbkdf.c
/qemu/crypto/tlscredspsk.c
/qemu/disas/meson.build
/qemu/disas/mips.c
/qemu/disas/nanomips.c
/qemu/docs/devel/multiple-iothreads.txt
/qemu/docs/devel/reset.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/ppc/ppce500.rst
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/boot.c
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/virt.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/core/numa.c
/qemu/hw/core/reset.c
/qemu/hw/core/resettable.c
/qemu/hw/hppa/machine.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/i386/microvm.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/x86.c
/qemu/hw/ide/piix.c
/qemu/hw/ide/via.c
/qemu/hw/isa/Kconfig
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/piix3.c
/qemu/hw/isa/piix4.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/m68k/q800.c
/qemu/hw/m68k/virt.c
/qemu/hw/mem/nvdimm.c
/qemu/hw/mips/bootloader.c
/qemu/hw/mips/boston.c
/qemu/hw/mips/fuloong2e.c
/qemu/hw/mips/malta.c
/qemu/hw/net/e1000_regs.h
/qemu/hw/openrisc/boot.c
/qemu/hw/ppc/Kconfig
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/meson.build
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/ppc4xx_sdram.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/ppc/trace-events
/qemu/hw/riscv/boot.c
/qemu/hw/rx/rx-gdbsim.c
/qemu/hw/s390x/pv.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/tod-kvm.c
/qemu/hw/sd/sdhci-internal.h
/qemu/hw/sd/sdhci.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/timer/imx_epit.c
/qemu/hw/usb/vt82c686-uhci-pci.c
/qemu/hw/virtio/virtio-mem.c
/qemu/include/block/block-common.h
/qemu/include/block/block-global-state.h
/qemu/include/block/block-hmp-cmds.h
/qemu/include/block/block-io.h
/qemu/include/block/block_int-common.h
/qemu/include/exec/cpu-common.h
/qemu/include/hw/boards.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/ide/piix.h
/qemu/include/hw/isa/vt82c686.h
/qemu/include/hw/mips/bootloader.h
/qemu/include/hw/ppc/ppc4xx.h
/qemu/include/hw/virtio/virtio-blk.h
/qemu/include/monitor/hmp.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/qemu/coroutine.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/sockets.h
/qemu/include/qemu/thread-context.h
/qemu/include/qemu/thread.h
/qemu/include/sysemu/block-backend-global-state.h
/qemu/include/sysemu/block-ram-registrar.h
/qemu/include/sysemu/device_tree.h
/qemu/include/sysemu/hostmem.h
/qemu/include/sysemu/reset.h
/qemu/io/channel-watch.c
/qemu/job.c
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/savevm.c
vhost-vdpa.c
/qemu/qapi/block-core.json
/qemu/qapi/qom.json
/qemu/qapi/run-state.json
/qemu/qemu-img.c
/qemu/qga/channel-posix.c
/qemu/qga/commands-bsd.c
/qemu/qga/commands-common.h
/qemu/qga/commands-linux.c
/qemu/qga/commands-posix.c
/qemu/qga/main.c
/qemu/qga/meson.build
/qemu/qom/object.c
/qemu/scripts/git-submodule.sh
/qemu/scripts/meson-buildoptions.sh
/qemu/scripts/nsis.py
/qemu/softmmu/cpus.c
/qemu/softmmu/device_tree.c
/qemu/softmmu/physmem.c
/qemu/softmmu/qemu-seccomp.c
/qemu/softmmu/qtest.c
/qemu/softmmu/runstate.c
/qemu/softmmu/vl.c
/qemu/stubs/meson.build
/qemu/stubs/physmem.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/ptw.c
/qemu/target/ppc/cpu.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/fpu_helper.c
/qemu/target/ppc/helper.h
/qemu/target/ppc/helper_regs.c
/qemu/target/ppc/insn32.decode
/qemu/target/ppc/int_helper.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/ppc/power8-pmu.c
/qemu/target/ppc/power8-pmu.h
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate/processor-ctrl-impl.c.inc
/qemu/target/ppc/translate/vmx-impl.c.inc
/qemu/target/ppc/translate/vmx-ops.c.inc
/qemu/target/ppc/translate/vsx-impl.c.inc
/qemu/target/ppc/translate/vsx-ops.c.inc
/qemu/target/s390x/tcg/translate_vx.c.inc
/qemu/tests/docker/dockerfiles/alpine.docker
/qemu/tests/docker/dockerfiles/centos8.docker
/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/projects/qemu.yml
/qemu/tests/qemu-iotests/051
/qemu/tests/qemu-iotests/051.out
/qemu/tests/qemu-iotests/051.pc.out
/qemu/tests/qtest/cxl-test.c
/qemu/tests/qtest/dbus-vmstate-test.c
/qemu/tests/qtest/device-plug-test.c
/qemu/tests/qtest/libqmp.c
/qemu/tests/qtest/libqos/e1000e.c
/qemu/tests/qtest/libqos/meson.build
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/modules-test.c
/qemu/tests/qtest/tpm-crb-swtpm-test.c
/qemu/tests/qtest/tpm-tis-device-swtpm-test.c
/qemu/tests/qtest/tpm-tis-swtpm-test.c
/qemu/tests/qtest/tpm-util.c
/qemu/tests/qtest/tpm-util.h
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/vistr.c
/qemu/tests/unit/crypto-tls-psk-helpers.c
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/unit/test-bdrv-graph-mod.c
/qemu/tests/unit/test-block-iothread.c
/qemu/tests/unit/test-crypto-block.c
/qemu/tests/vm/freebsd
/qemu/tests/vm/openbsd
/qemu/util/meson.build
/qemu/util/osdep.c
/qemu/util/oslib-posix.c
/qemu/util/oslib-win32.c
/qemu/util/qemu-coroutine-lock.c
/qemu/util/qemu-sockets.c
/qemu/util/qemu-thread-posix.c
/qemu/util/qemu-thread-win32.c
/qemu/util/thread-context.c
/qemu/util/vfio-helpers.c
e506fee821-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: stream: add QAPI events to report connection state

The netdev reports NETDEV_STREAM_CONNECTED event when the backend
is connected, and NETDEV_STREAM_DISCONNECTED when it is disconnected.

The N

net: stream: add QAPI events to report connection state

The netdev reports NETDEV_STREAM_CONNECTED event when the backend
is connected, and NETDEV_STREAM_DISCONNECTED when it is disconnected.

The NETDEV_STREAM_CONNECTED event includes the destination address.

This allows a system manager like libvirt to detect when the server
fails.

For instance with passt:

{ 'execute': 'qmp_capabilities' }
{ "return": { } }
{ "timestamp": { "seconds": 1666341395, "microseconds": 505347 },
"event": "NETDEV_STREAM_CONNECTED",
"data": { "netdev-id": "netdev0",
"addr": { "path": "/tmp/passt_1.socket", "type": "unix" } } }

[killing passt here]

{ "timestamp": { "seconds": 1666341430, "microseconds": 968694 },
"event": "NETDEV_STREAM_DISCONNECTED",
"data": { "netdev-id": "netdev0" } }

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

1f9c890f21-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: stream: move to QIO to enable additional parameters

Use QIOChannel, QIOChannelSocket and QIONetListener.
This allows net/stream to use all the available parameters provided by
SocketAddress.

S

net: stream: move to QIO to enable additional parameters

Use QIOChannel, QIOChannelSocket and QIONetListener.
This allows net/stream to use all the available parameters provided by
SocketAddress.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

784e7a2521-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: dgram: add unix socket

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Mich

net: dgram: add unix socket

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com> (QAPI schema)
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

8ecc7f4021-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: dgram: move mcast specific code from net_socket_fd_init_dgram()

It is less complex to manage special cases directly in
net_dgram_mcast_init() and net_dgram_udp_init().

Signed-off-by: Laurent V

net: dgram: move mcast specific code from net_socket_fd_init_dgram()

It is less complex to manage special cases directly in
net_dgram_mcast_init() and net_dgram_udp_init().

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

7c1f0c3321-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: dgram: make dgram_dst generic

dgram_dst is a sockaddr_in structure. To be able to use it with
unix socket, use a pointer to a generic sockaddr structure.

Rename it dest_addr, and store socket

net: dgram: make dgram_dst generic

dgram_dst is a sockaddr_in structure. To be able to use it with
unix socket, use a pointer to a generic sockaddr structure.

Rename it dest_addr, and store socket length in dest_len.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

13c6be9621-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: stream: add unix socket

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Markus Armbru

net: stream: add unix socket

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com> (QAPI schema)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

80d3e47721-Oct-2022 Stefano Brivio <sbrivio@redhat.com>

net: stream: Don't ignore EINVAL on netdev socket connection

Other errors are treated as failure by net_stream_client_init(),
but if connect() returns EINVAL, we'll fail silently. Remove the
related

net: stream: Don't ignore EINVAL on netdev socket connection

Other errors are treated as failure by net_stream_client_init(),
but if connect() returns EINVAL, we'll fail silently. Remove the
related exception.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
[lvivier: applied to net/stream.c]
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

daf188ff21-Oct-2022 Stefano Brivio <sbrivio@redhat.com>

net: socket: Don't ignore EINVAL on netdev socket connection

Other errors are treated as failure by net_socket_connect_init(),
but if connect() returns EINVAL, we'll fail silently. Remove the
relate

net: socket: Don't ignore EINVAL on netdev socket connection

Other errors are treated as failure by net_socket_connect_init(),
but if connect() returns EINVAL, we'll fail silently. Remove the
related exception.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

5166fe0a21-Oct-2022 Laurent Vivier <lvivier@redhat.com>

qapi: net: add stream and dgram netdevs

Copied from socket netdev file and modified to use SocketAddress
to be able to introduce new features like unix socket.

"udp" and "mcast" are squashed into d

qapi: net: add stream and dgram netdevs

Copied from socket netdev file and modified to use SocketAddress
to be able to introduce new features like unix socket.

"udp" and "mcast" are squashed into dgram netdev, multicast is detected
according to the IP address type.
"listen" and "connect" modes are managed by stream netdev. An optional
parameter "server" defines the mode (off by default)

The two new types need to be parsed the modern way with -netdev, because
with the traditional way, the "type" field of netdev structure collides with
the "type" field of SocketAddress and prevents the correct evaluation of the
command line option. Moreover the traditional way doesn't allow to use
the same type (SocketAddress) several times with the -netdev option
(needed to specify "local" and "remote" addresses).

The previous commit paved the way for parsing the modern way, but
omitted one detail: how to pick modern vs. traditional, in
netdev_is_modern().

We want to pick based on the value of parameter "type". But how to
extract it from the option argument?

Parsing the option argument, either the modern or the traditional way,
extracts it for us, but only if parsing succeeds.

If parsing fails, there is no good option. No matter which parser we
pick, it'll be the wrong one for some arguments, and the error
reporting will be confusing.

Fortunately, the traditional parser accepts *anything* when called in
a certain way. This maximizes our chance to extract the value of
"type", and in turn minimizes the risk of confusing error reporting.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

53b85d9521-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: introduce qemu_set_info_str() function

Embed the setting of info_str in a function.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
A

net: introduce qemu_set_info_str() function

Embed the setting of info_str in a function.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

f3eedcdd21-Oct-2022 Laurent Vivier <lvivier@redhat.com>

qapi: net: introduce a way to bypass qemu_opts_parse_noisily()

As qemu_opts_parse_noisily() flattens the QAPI structures ("type" field
of Netdev structure can collides with "type" field of SocketAdd

qapi: net: introduce a way to bypass qemu_opts_parse_noisily()

As qemu_opts_parse_noisily() flattens the QAPI structures ("type" field
of Netdev structure can collides with "type" field of SocketAddress),
we introduce a way to bypass qemu_opts_parse_noisily() and use directly
visit_type_Netdev() to parse the backend parameters.

More details from Markus:

qemu_init() passes the argument of -netdev, -nic, and -net to
net_client_parse().

net_client_parse() parses with qemu_opts_parse_noisily(), passing
QemuOptsList qemu_netdev_opts for -netdev, qemu_nic_opts for -nic, and
qemu_net_opts for -net. Their desc[] are all empty, which means any
keys are accepted. The result of the parse (a QemuOpts) is stored in
the QemuOptsList.

Note that QemuOpts is flat by design. In some places, we layer non-flat
on top using dotted keys convention, but not here.

net_init_clients() iterates over the stored QemuOpts, and passes them to
net_init_netdev(), net_param_nic(), or net_init_client(), respectively.

These functions pass the QemuOpts to net_client_init(). They also do
other things with the QemuOpts, which we can ignore here.

net_client_init() uses the opts visitor to convert the (flat) QemOpts to
a (non-flat) QAPI object Netdev. Netdev is also the argument of QMP
command netdev_add.

The opts visitor was an early attempt to support QAPI in
(QemuOpts-based) CLI. It restricts QAPI types to a certain shape; see
commit eb7ee2cbeb "qapi: introduce OptsVisitor".

A more modern way to support QAPI is qobject_input_visitor_new_str().
It uses keyval_parse() instead of QemuOpts for KEY=VALUE,... syntax, and
it also supports JSON syntax. The former isn't quite as expressive as
JSON, but it's a lot closer than QemuOpts + opts visitor.

This commit paves the way to use of the modern way instead.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

21fccb2c21-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: simplify net_client_parse() error management

All net_client_parse() callers exit in case of error.

Move exit(1) to net_client_parse() and remove error checking from
the callers.

Suggested-by:

net: simplify net_client_parse() error management

All net_client_parse() callers exit in case of error.

Move exit(1) to net_client_parse() and remove error checking from
the callers.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

d63ef17b21-Oct-2022 Laurent Vivier <lvivier@redhat.com>

net: remove the @errp argument of net_client_inits()

The only caller passes &error_fatal, so use this directly in the function.

It's what we do for -blockdev, -device, and -object.

Suggested-by: M

net: remove the @errp argument of net_client_inits()

The only caller passes &error_fatal, so use this directly in the function.

It's what we do for -blockdev, -device, and -object.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

12345678910>>...43