History log of /openbmc/qemu/util/ (Results 226 – 250 of 1947)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
6d740fb002-May-2023 Stefan Hajnoczi <stefanha@redhat.com>

aio-posix: do not nest poll handlers

QEMU's event loop supports nesting, which means that event handler
functions may themselves call aio_poll(). The condition that triggered a
handler must be reset

aio-posix: do not nest poll handlers

QEMU's event loop supports nesting, which means that event handler
functions may themselves call aio_poll(). The condition that triggered a
handler must be reset before the nested aio_poll() call, otherwise the
same handler will be called and immediately re-enter aio_poll. This
leads to an infinite loop and stack exhaustion.

Poll handlers are especially prone to this issue, because they typically
reset their condition by finishing the processing of pending work.
Unfortunately it is during the processing of pending work that nested
aio_poll() calls typically occur and the condition has not yet been
reset.

Disable a poll handler during ->io_poll_ready() so that a nested
aio_poll() call cannot invoke ->io_poll_ready() again. As a result, the
disabled poll handler and its associated fd handler do not run during
the nested aio_poll(). Calling aio_set_fd_handler() from inside nested
aio_poll() could cause it to run again. If the fd handler is pending
inside nested aio_poll(), then it will also run again.

In theory fd handlers can be affected by the same issue, but they are
more likely to reset the condition before calling nested aio_poll().

This is a special case and it's somewhat complex, but I don't see a way
around it as long as nested aio_poll() is supported.

Cc: qemu-stable@nongnu.org
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2186181
Fixes: c38270692593 ("block: Mark bdrv_co_io_(un)plug() and callers GRAPH_RDLOCK")
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230502184134.534703-2-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/block.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/create.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/export/export.c
/openbmc/qemu/block/graph-lock.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/stream.c
/openbmc/qemu/block/vdi.c
/openbmc/qemu/block/vhdx.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/blockjob.c
/openbmc/qemu/configs/targets/hexagon-linux-user.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/Makefile
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/interop/qcow2.txt
/openbmc/qemu/docs/system/device-emulation.rst
/openbmc/qemu/docs/system/devices/usb-u2f.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/gdb-xml/hexagon-core.xml
/openbmc/qemu/gdb-xml/hexagon-hvx.xml
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gdbstub/internals.h
/openbmc/qemu/gdbstub/softmmu.c
/openbmc/qemu/gdbstub/user.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/s390x/s390-stattrib.c
/openbmc/qemu/include/block/block-global-state.h
/openbmc/qemu/include/block/block_int-common.h
/openbmc/qemu/include/block/blockjob_int.h
/openbmc/qemu/include/migration/colo.h
/openbmc/qemu/include/migration/qemu-file-types.h
/openbmc/qemu/linux-user/hexagon/cpu_loop.c
/openbmc/qemu/linux-user/hexagon/target_elf.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration-stats.c
/openbmc/qemu/migration/migration-stats.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/options.h
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/net/meson.build
/openbmc/qemu/qemu-img.c
/openbmc/qemu/scripts/meson-buildoptions.py
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/stubs/colo-compare.c
/openbmc/qemu/stubs/colo.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/target/arm/cortex-regs.c
/openbmc/qemu/target/arm/debug_helper.c
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/meson.build
/openbmc/qemu/target/arm/tcg/sve_helper.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/hexagon/README
/openbmc/qemu/target/hexagon/arch.c
/openbmc/qemu/target/hexagon/attribs_def.h.inc
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/cpu.h
/openbmc/qemu/target/hexagon/decode.c
/openbmc/qemu/target/hexagon/gdbstub.c
/openbmc/qemu/target/hexagon/gen_analyze_funcs.py
/openbmc/qemu/target/hexagon/gen_helper_funcs.py
/openbmc/qemu/target/hexagon/gen_helper_protos.py
/openbmc/qemu/target/hexagon/gen_idef_parser_funcs.py
/openbmc/qemu/target/hexagon/gen_tcg.h
/openbmc/qemu/target/hexagon/gen_tcg_funcs.py
/openbmc/qemu/target/hexagon/gen_tcg_hvx.h
/openbmc/qemu/target/hexagon/genptr.c
/openbmc/qemu/target/hexagon/genptr.h
/openbmc/qemu/target/hexagon/helper.h
/openbmc/qemu/target/hexagon/hex_common.py
/openbmc/qemu/target/hexagon/iclass.c
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.lex
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.y
/openbmc/qemu/target/hexagon/idef-parser/parser-helpers.c
/openbmc/qemu/target/hexagon/idef-parser/parser-helpers.h
/openbmc/qemu/target/hexagon/imported/branch.idef
/openbmc/qemu/target/hexagon/imported/encode_pp.def
/openbmc/qemu/target/hexagon/imported/ldst.idef
/openbmc/qemu/target/hexagon/imported/mmvec/encode_ext.def
/openbmc/qemu/target/hexagon/imported/mmvec/ext.idef
/openbmc/qemu/target/hexagon/internal.h
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/mmvec/macros.h
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/target/hexagon/op_helper.h
/openbmc/qemu/target/hexagon/translate.c
/openbmc/qemu/target/hexagon/translate.h
/openbmc/qemu/tests/guest-debug/run-test.py
/openbmc/qemu/tests/qemu-iotests/245
/openbmc/qemu/tests/qemu-iotests/245.out
/openbmc/qemu/tests/tcg/hexagon/Makefile.target
/openbmc/qemu/tests/tcg/hexagon/fpstuff.c
/openbmc/qemu/tests/tcg/hexagon/hvx_misc.c
/openbmc/qemu/tests/tcg/hexagon/invalid-slots.c
/openbmc/qemu/tests/tcg/hexagon/misc.c
/openbmc/qemu/tests/tcg/hexagon/read_write_overlap.c
/openbmc/qemu/tests/tcg/hexagon/v68_hvx.c
/openbmc/qemu/tests/tcg/hexagon/v68_scalar.c
/openbmc/qemu/tests/tcg/hexagon/v69_hvx.c
/openbmc/qemu/tests/tcg/hexagon/v6mpy_ref.c.inc
/openbmc/qemu/tests/tcg/hexagon/v73_scalar.c
/openbmc/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/openbmc/qemu/tests/unit/test-bdrv-drain.c
aio-posix.c
6739825a12-Oct-2022 Paolo Bonzini <pbonzini@redhat.com>

build: move coroutine backend selection to meson

To simplify the code, rename coroutine-win32.c to match the option
passed to configure.

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

build: move coroutine backend selection to meson

To simplify the code, rename coroutine-win32.c to match the option
passed to configure.

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

fc9a809e12-Oct-2022 Paolo Bonzini <pbonzini@redhat.com>

build: move glib detection and workarounds to meson

QEMU adds the path to glib.h to all compilation commands. This is simpler
due to the pervasive use of static_library, and was grandfathered in fr

build: move glib detection and workarounds to meson

QEMU adds the path to glib.h to all compilation commands. This is simpler
due to the pervasive use of static_library, and was grandfathered in from
the previous Make-based build system. Until Meson 0.63 the only way to
do this was to detect glib in configure and use add_project_arguments,
but now it is possible to use add_project_dependencies instead.

gmodule is detected in a separate variable, with export enabled for
modules and disabled for plugin.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest-template.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/Makefile
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/atomic_common.c.inc
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/ldst_atomicity.c.inc
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-runtime.h
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/Makefile
/openbmc/qemu/cpu.c
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/docs/about/emulation.rst
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/acpi-bits.rst
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/loads-stores.rst
/openbmc/qemu/docs/devel/tcg-ops.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/docs/sphinx/dbusdomain.py
/openbmc/qemu/docs/sphinx/fakedbusdoc.py
/openbmc/qemu/docs/sphinx/qmp_lexer.py
/openbmc/qemu/hw/9pfs/trace-events
/openbmc/qemu/hw/9pfs/xen-9p-backend.c
/openbmc/qemu/hw/core/machine-qmp-cmds.c
/openbmc/qemu/hw/core/meson.build
/openbmc/qemu/hw/net/meson.build
/openbmc/qemu/hw/net/xilinx_ethlite.c
/openbmc/qemu/hw/s390x/pv.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/scsi-generic.c
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/memop.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/plugin-gen.h
/openbmc/qemu/include/exec/user/guest-base.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/s390x/pv.h
/openbmc/qemu/include/qemu/cpuid.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/sysemu/kvm_int.h
/openbmc/qemu/include/tcg/tcg-ldst.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/include/tcg/tcg-opc.h
/openbmc/qemu/include/tcg/tcg.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/mips/cpu_loop.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/python/Makefile
/openbmc/qemu/python/scripts/mkvenv.py
/openbmc/qemu/python/scripts/vendor.py
/openbmc/qemu/python/setup.cfg
/openbmc/qemu/python/tests/flake8.sh
/openbmc/qemu/python/tests/isort.sh
/openbmc/qemu/python/tests/minreqs.txt
/openbmc/qemu/python/tests/mypy.sh
/openbmc/qemu/python/tests/pylint.sh
/openbmc/qemu/python/wheels/meson-0.63.3-py3-none-any.whl
/openbmc/qemu/qga/meson.build
/openbmc/qemu/scripts/ci/org.centos/stream/8/x86_64/test-avocado
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/qapi/mypy.ini
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/ops_sse.h
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/tcg/insn-data.h.inc
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tcg/aarch64/tcg-target.h
/openbmc/qemu/tcg/arm/tcg-target-con-set.h
/openbmc/qemu/tcg/arm/tcg-target-con-str.h
/openbmc/qemu/tcg/arm/tcg-target.c.inc
/openbmc/qemu/tcg/arm/tcg-target.h
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.h
/openbmc/qemu/tcg/meson.build
/openbmc/qemu/tcg/mips/tcg-target.c.inc
/openbmc/qemu/tcg/mips/tcg-target.h
/openbmc/qemu/tcg/optimize.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/ppc/tcg-target.h
/openbmc/qemu/tcg/riscv/tcg-target.c.inc
/openbmc/qemu/tcg/riscv/tcg-target.h
/openbmc/qemu/tcg/s390x/tcg-target.c.inc
/openbmc/qemu/tcg/s390x/tcg-target.h
/openbmc/qemu/tcg/sparc64/tcg-target-con-set.h
/openbmc/qemu/tcg/sparc64/tcg-target-con-str.h
/openbmc/qemu/tcg/sparc64/tcg-target.c.inc
/openbmc/qemu/tcg/sparc64/tcg-target.h
/openbmc/qemu/tcg/tcg-internal.h
/openbmc/qemu/tcg/tcg-op-ldst.c
/openbmc/qemu/tcg/tcg-op.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tcg/tci.c
/openbmc/qemu/tcg/tci/tcg-target.c.inc
/openbmc/qemu/tcg/tci/tcg-target.h
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian-all-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-riscv64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-tricore-cross.docker
/openbmc/qemu/tests/qtest/libqos/virtio-9p-client.c
/openbmc/qemu/tests/requirements.txt
/openbmc/qemu/tests/tcg/i386/test-avx.py
/openbmc/qemu/tests/tcg/multiarch/system/memory.c
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/s390x/console.c
/openbmc/qemu/tests/tcg/s390x/ex-branch.c
/openbmc/qemu/tests/tcg/s390x/head64.S
/openbmc/qemu/tests/vm/netbsd
meson.build
80bd81ca05-May-2023 Claudio Imbrenda <imbrenda@linux.ibm.com>

util/async-teardown: wire up query-command-line-options

Add new -run-with option with an async-teardown=on|off parameter. It is
visible in the output of query-command-line-options QMP command, so it

util/async-teardown: wire up query-command-line-options

Add new -run-with option with an async-teardown=on|off parameter. It is
visible in the output of query-command-line-options QMP command, so it
can be discovered and used by libvirt.

The option -async-teardown is now redundant, deprecate it.

Reported-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Fixes: c891c24b1a ("os-posix: asynchronous teardown for shutdown on Linux")
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20230505120051.36605-2-imbrenda@linux.ibm.com>
[thuth: Add curly braces to fix error with GCC 8.5, fix bug in deprecated.rst]
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-12.vars
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/cpu-exec-common.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/internal.h
/openbmc/qemu/accel/tcg/tb-maint.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-icount.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-icount.h
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/block.c
/openbmc/qemu/block/amend.c
/openbmc/qemu/block/blkverify.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/coroutines.h
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/graph-lock.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/linux-aio.c
/openbmc/qemu/block/meson.build
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qapi-sysemu.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/quorum.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/block/vdi.c
/openbmc/qemu/block/vhdx.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/bsd-user/elfload.c
/openbmc/qemu/configs/targets/mips-linux-user.mak
/openbmc/qemu/configs/targets/mips-softmmu.mak
/openbmc/qemu/configs/targets/mips64-linux-user.mak
/openbmc/qemu/configs/targets/mips64-softmmu.mak
/openbmc/qemu/configs/targets/mips64el-linux-user.mak
/openbmc/qemu/configs/targets/mips64el-softmmu.mak
/openbmc/qemu/configs/targets/mipsel-linux-user.mak
/openbmc/qemu/configs/targets/mipsel-softmmu.mak
/openbmc/qemu/configs/targets/mipsn32-linux-user.mak
/openbmc/qemu/configs/targets/mipsn32el-linux-user.mak
/openbmc/qemu/configs/targets/nios2-softmmu.mak
/openbmc/qemu/configs/targets/sh4-linux-user.mak
/openbmc/qemu/configs/targets/sh4-softmmu.mak
/openbmc/qemu/configs/targets/sh4eb-linux-user.mak
/openbmc/qemu/configs/targets/sh4eb-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/cpus-common.c
/openbmc/qemu/disas/disas-internal.h
/openbmc/qemu/disas/disas-mon.c
/openbmc/qemu/disas/disas.c
/openbmc/qemu/disas/meson.build
/openbmc/qemu/docs/COLO-FT.txt
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/devel/index-api.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/devel/zoned-storage.rst
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/docs/system/devices/igb.rst
/openbmc/qemu/docs/system/devices/ivshmem.rst
/openbmc/qemu/docs/system/devices/net.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/docs/system/gdb.rst
/openbmc/qemu/docs/system/keys.rst
/openbmc/qemu/docs/system/linuxboot.rst
/openbmc/qemu/docs/system/qemu-block-drivers.rst.inc
/openbmc/qemu/docs/system/target-i386.rst
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/block/trace-events
/openbmc/qemu/hw/block/virtio-blk-common.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/pci/pci_bridge.c
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/virtio/virtio-qmp.c
/openbmc/qemu/include/block/accounting.h
/openbmc/qemu/include/block/block-common.h
/openbmc/qemu/include/block/block-global-state.h
/openbmc/qemu/include/block/block-io.h
/openbmc/qemu/include/block/block_int-common.h
/openbmc/qemu/include/block/block_int-global-state.h
/openbmc/qemu/include/block/graph-lock.h
/openbmc/qemu/include/block/qapi.h
/openbmc/qemu/include/block/raw-aio.h
/openbmc/qemu/include/disas/disas.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/cpu-defs.h
/openbmc/qemu/include/exec/cpu_ldst.h
/openbmc/qemu/include/exec/memop.h
/openbmc/qemu/include/exec/poison.h
/openbmc/qemu/include/exec/target_page.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/intc/loongarch_ipi.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/pci/pci_bridge.h
/openbmc/qemu/include/migration/colo.h
/openbmc/qemu/include/sysemu/block-backend-global-state.h
/openbmc/qemu/include/sysemu/block-backend-io.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration-hmp-cmds.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/multifd.h
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/migration/vmstate.c
/openbmc/qemu/os-posix.c
/openbmc/qemu/qapi/acpi.json
/openbmc/qemu/qapi/audio.json
/openbmc/qemu/qapi/authz.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/common.json
/openbmc/qemu/qapi/compat.json
/openbmc/qemu/qapi/control.json
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/cryptodev.json
/openbmc/qemu/qapi/cxl.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/error.json
/openbmc/qemu/qapi/introspect.json
/openbmc/qemu/qapi/job.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/pci.json
/openbmc/qemu/qapi/qapi-schema.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/rdma.json
/openbmc/qemu/qapi/replay.json
/openbmc/qemu/qapi/rocker.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/sockets.json
/openbmc/qemu/qapi/stats.json
/openbmc/qemu/qapi/tpm.json
/openbmc/qemu/qapi/trace.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qapi/yank.json
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/replay/replay.c
/openbmc/qemu/scripts/ci/setup/build-environment.yml
/openbmc/qemu/scripts/ci/setup/gitlab-runner.yml
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/scripts/symlink-install-tree.py
/openbmc/qemu/softmmu/dirtylimit.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/stubs/colo.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/target/arm/Kconfig
/openbmc/qemu/target/arm/gdbstub64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/arm_ldst.h
/openbmc/qemu/target/arm/tcg/helper-a64.h
/openbmc/qemu/target/arm/tcg/helper-mve.h
/openbmc/qemu/target/arm/tcg/helper-sme.h
/openbmc/qemu/target/arm/tcg/helper-sve.h
/openbmc/qemu/target/arm/tcg/pauth_helper.c
/openbmc/qemu/target/arm/tcg/sve_ldst_internal.h
/openbmc/qemu/target/arm/tcg/translate-a32.h
/openbmc/qemu/target/loongarch/csr_helper.c
/openbmc/qemu/target/loongarch/iocsr_helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/mips/tcg/micromips_translate.c.inc
/openbmc/qemu/target/mips/tcg/mips16e_translate.c.inc
/openbmc/qemu/target/mips/tcg/mxu_translate.c
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/openrisc/fpu_helper.c
/openbmc/qemu/target/openrisc/sys_helper.c
/openbmc/qemu/target/openrisc/translate.c
/openbmc/qemu/target/sh4/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tcg/arm/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target-con-set.h
/openbmc/qemu/tcg/loongarch64/tcg-target-con-str.h
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/mips/tcg-target-con-set.h
/openbmc/qemu/tcg/mips/tcg-target-con-str.h
/openbmc/qemu/tcg/mips/tcg-target.c.inc
/openbmc/qemu/tcg/mips/tcg-target.h
/openbmc/qemu/tcg/ppc/tcg-target-con-set.h
/openbmc/qemu/tcg/ppc/tcg-target-con-str.h
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/riscv/tcg-target-con-set.h
/openbmc/qemu/tcg/riscv/tcg-target-con-str.h
/openbmc/qemu/tcg/riscv/tcg-target.c.inc
/openbmc/qemu/tcg/s390x/tcg-target-con-set.h
/openbmc/qemu/tcg/s390x/tcg-target-con-str.h
/openbmc/qemu/tcg/s390x/tcg-target.c.inc
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/avocado/machine_loongarch.py
/openbmc/qemu/tests/avocado/replay_kernel.py
/openbmc/qemu/tests/avocado/virtio-gpu.py
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-xtensa-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/qapi-schema/doc-bad-indent.err
/openbmc/qemu/tests/qapi-schema/doc-bad-indent.json
/openbmc/qemu/tests/qapi-schema/doc-good.json
/openbmc/qemu/tests/qapi-schema/doc-good.out
/openbmc/qemu/tests/qemu-iotests/227.out
/openbmc/qemu/tests/qemu-iotests/tests/iothreads-resize
/openbmc/qemu/tests/qemu-iotests/tests/iothreads-resize.out
/openbmc/qemu/tests/qemu-iotests/tests/nbd-reconnect-on-open
/openbmc/qemu/tests/qemu-iotests/tests/nbd-reconnect-on-open.out
/openbmc/qemu/tests/qemu-iotests/tests/zoned
/openbmc/qemu/tests/qemu-iotests/tests/zoned.out
/openbmc/qemu/tests/qtest/ahci-test.c
/openbmc/qemu/tests/qtest/boot-order-test.c
/openbmc/qemu/tests/qtest/cdrom-test.c
/openbmc/qemu/tests/qtest/fdc-test.c
/openbmc/qemu/tests/qtest/ide-test.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/netdev-socket.c
/openbmc/qemu/tests/qtest/test-filter-mirror.c
/openbmc/qemu/tests/qtest/test-filter-redirector.c
/openbmc/qemu/tests/qtest/virtio-blk-test.c
/openbmc/qemu/tests/unit/test-bdrv-drain.c
/openbmc/qemu/trace/control-target.c
/openbmc/qemu/ui/console.c
async-teardown.c
3edf660a04-Apr-2023 Stefan Hajnoczi <stefanha@redhat.com>

aio-wait: avoid AioContext lock in aio_wait_bh_oneshot()

There is no need for the AioContext lock in aio_wait_bh_oneshot().
It's easy to remove the lock from existing callers and then switch from
AI

aio-wait: avoid AioContext lock in aio_wait_bh_oneshot()

There is no need for the AioContext lock in aio_wait_bh_oneshot().
It's easy to remove the lock from existing callers and then switch from
AIO_WAIT_WHILE() to AIO_WAIT_WHILE_UNLOCKED() in aio_wait_bh_oneshot().

Document that the AioContext lock should not be held across
aio_wait_bh_oneshot(). Holding a lock across aio_poll() can cause
deadlock so we don't want callers to do that.

This is a step towards getting rid of the AioContext lock.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230404153307.458883-1-stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

8f593ba903-Mar-2023 Paolo Bonzini <pbonzini@redhat.com>

call_rcu: stop using mb_set/mb_read

Use a store-release when enqueuing a new call_rcu, and a load-acquire
when dequeuing; and read the tail after checking that node->next is
consistent, which is the

call_rcu: stop using mb_set/mb_read

Use a store-release when enqueuing a new call_rcu, and a load-acquire
when dequeuing; and read the tail after checking that node->next is
consistent, which is the standard message passing pattern and it is
clearer than mb_read/mb_set.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

6e288b0003-Mar-2023 Paolo Bonzini <pbonzini@redhat.com>

rcu: remove qatomic_mb_set, expand comments

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/audio_template.h
/openbmc/qemu/audio/meson.build
/openbmc/qemu/audio/pwaudio.c
/openbmc/qemu/audio/trace-events
/openbmc/qemu/block/export/export.c
/openbmc/qemu/block/export/vduse-blk.c
/openbmc/qemu/configs/targets/alpha-linux-user.mak
/openbmc/qemu/configs/targets/alpha-softmmu.mak
/openbmc/qemu/configs/targets/hppa-linux-user.mak
/openbmc/qemu/configs/targets/hppa-softmmu.mak
/openbmc/qemu/configs/targets/sparc-linux-user.mak
/openbmc/qemu/configs/targets/sparc-softmmu.mak
/openbmc/qemu/configs/targets/sparc32plus-linux-user.mak
/openbmc/qemu/configs/targets/sparc64-linux-user.mak
/openbmc/qemu/configs/targets/sparc64-softmmu.mak
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/fpu/softfloat.c
/openbmc/qemu/hw/char/riscv_htif.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/riscv/spike.c
/openbmc/qemu/include/hw/char/riscv_htif.h
/openbmc/qemu/include/qemu/rcu.h
/openbmc/qemu/include/tcg/tcg-ldst.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/loongarch64/signal.c
/openbmc/qemu/linux-user/ppc/signal.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/migration-stats.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/options.h
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/vmstate.c
/openbmc/qemu/qapi/audio.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/commands.c
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/avr/translate.c
/openbmc/qemu/target/cris/translate_v10.c.inc
/openbmc/qemu/target/hexagon/genptr.c
/openbmc/qemu/target/hexagon/idef-parser/parser-helpers.c
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/translate.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/disas.c
/openbmc/qemu/target/loongarch/fpu_helper.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/helper.h
/openbmc/qemu/target/loongarch/insn_trans/trans_farith.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fcmp.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fmemory.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fmov.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_lsx.c.inc
/openbmc/qemu/target/loongarch/insns.decode
/openbmc/qemu/target/loongarch/internals.h
/openbmc/qemu/target/loongarch/lsx_helper.c
/openbmc/qemu/target/loongarch/machine.c
/openbmc/qemu/target/loongarch/meson.build
/openbmc/qemu/target/loongarch/translate.c
/openbmc/qemu/target/loongarch/translate.h
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/ppc/cpu.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/ppc-qmp-cmds.c
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
/openbmc/qemu/target/riscv/arch_dump.c
/openbmc/qemu/target/riscv/cpu-qom.h
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/cpu_vendorid.h
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/debug.c
/openbmc/qemu/target/riscv/fpu_helper.c
/openbmc/qemu/target/riscv/gdbstub.c
/openbmc/qemu/target/riscv/helper.h
/openbmc/qemu/target/riscv/insn16.decode
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvd.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvf.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvh.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzce.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzicond.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_xthead.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_xventanacondops.c.inc
/openbmc/qemu/target/riscv/internals.h
/openbmc/qemu/target/riscv/m128_helper.c
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/meson.build
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/pmp.h
/openbmc/qemu/target/riscv/pmu.c
/openbmc/qemu/target/riscv/riscv-qmp-cmds.c
/openbmc/qemu/target/riscv/sbi_ecall_interface.h
/openbmc/qemu/target/riscv/time_helper.c
/openbmc/qemu/target/riscv/time_helper.h
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/riscv/zce_helper.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/target/sparc/ldst_helper.c
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tcg/arm/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/mips/tcg-target.c.inc
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/riscv/tcg-target-con-set.h
/openbmc/qemu/tcg/riscv/tcg-target.c.inc
/openbmc/qemu/tcg/riscv/tcg-target.h
/openbmc/qemu/tcg/s390x/tcg-target.c.inc
/openbmc/qemu/tcg/sparc64/tcg-target.c.inc
/openbmc/qemu/tcg/tcg-internal.h
/openbmc/qemu/tcg/tcg-ldst.c.inc
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/ppc64/vector.c
/openbmc/qemu/tests/unit/test-qga.c
rcu.c
7ade2b1824-Mar-2023 Eric Blake <eblake@redhat.com>

systemd: Also clear LISTEN_FDNAMES during systemd socket activation

Some time after systemd documented LISTEN_PID and LISTEN_FDS for
socket activation, they later added LISTEN_FDNAMES; now documente

systemd: Also clear LISTEN_FDNAMES during systemd socket activation

Some time after systemd documented LISTEN_PID and LISTEN_FDS for
socket activation, they later added LISTEN_FDNAMES; now documented at:
https://www.freedesktop.org/software/systemd/man/sd_listen_fds.html

In particular, look at the implementation of sd_listen_fds_with_names():
https://github.com/systemd/systemd/blob/main/src/libsystemd/sd-daemon/sd-daemon.c

If we ever pass LISTEN_PID=xxx and LISTEN_FDS=n to a child process,
but leave LISTEN_FDNAMES=... unchanged as inherited from our parent
process, then our child process using sd_listen_fds_with_names() might
see a mismatch in the number of names (unexpected -EINVAL failure), or
even if the number of names matches the values of those names may be
unexpected (with even less predictable results).

Usually, this is not an issue - the point of LISTEN_PID is to tell
systemd socket activation to ignore all other LISTEN_* if they were
not directed to this particular pid. But if we end up consuming a
socket directed to this qemu process, and later decide to spawn a
child process that also needs systemd socket activation, we must
ensure we are not leaking any stale systemd variables through to that
child. The easiest way to do this is to wipe ALL LISTEN_* variables
at the time we consume a socket, even if we do not yet care about a
LISTEN_FDNAMES passed in from the parent process.

See also https://lists.freedesktop.org/archives/systemd-devel/2023-March/048920.html

Thanks: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20230324153349.1123774-1-eblake@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

show more ...


/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/internal.h
/openbmc/qemu/accel/tcg/monitor.c
/openbmc/qemu/accel/tcg/tcg-all.c
/openbmc/qemu/accel/tcg/tcg-runtime-gvec.c
/openbmc/qemu/accel/tcg/tcg-runtime.h
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/configs/devices/aarch64-softmmu/default.mak
/openbmc/qemu/configs/devices/arm-softmmu/default.mak
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/user/main.rst
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/arm/raspi.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/intc/allwinner-a10-pic.c
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/net/allwinner-sun8i-emac.c
/openbmc/qemu/hw/net/msf2-emac.c
/openbmc/qemu/hw/net/npcm7xx_emc.c
/openbmc/qemu/hw/sd/allwinner-sdhost.c
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/cpu_ldst.h
/openbmc/qemu/include/hw/arm/boot.h
/openbmc/qemu/include/hw/misc/bcm2835_property.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/qemu/bitops.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/qemu/int128.h
/openbmc/qemu/include/tcg/tcg-op-gvec.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration-stats.c
/openbmc/qemu/migration/migration-stats.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/tls.c
/openbmc/qemu/migration/tls.h
/openbmc/qemu/migration/xbzrle.c
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/softmmu/dirtylimit.c
/openbmc/qemu/softmmu/globals.c
/openbmc/qemu/softmmu/runstate-hmp-cmds.c
/openbmc/qemu/softmmu/runstate.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/target/arm/Kconfig
/openbmc/qemu/target/arm/cortex-regs.c
/openbmc/qemu/target/arm/cpregs.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/tcg/cpu32.c
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/meson.build
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/translate-a32.h
/openbmc/qemu/tcg/arm/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/mips/tcg-target.c.inc
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tcg/tci/README
/openbmc/qemu/tests/avocado/migration.py
/openbmc/qemu/tests/qtest/arm-cpu-features.c
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/boot-serial-test.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/pxe-test.c
/openbmc/qemu/tests/qtest/test-hmp.c
/openbmc/qemu/tests/qtest/vmgenid-test.c
systemd.c
7915bd0601-May-2023 Alexander Bulekov <alxndr@bu.edu>

async: avoid use-after-free on re-entrancy guard

A BH callback can free the BH, causing a use-after-free in aio_bh_call.
Fix that by keeping a local copy of the re-entrancy guard pointer.

Buglink:

async: avoid use-after-free on re-entrancy guard

A BH callback can free the BH, causing a use-after-free in aio_bh_call.
Fix that by keeping a local copy of the re-entrancy guard pointer.

Buglink: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=58513
Fixes: 9c86c97f12 ("async: Add an optional reentrancy guard to the BH API")
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20230501141956.3444868-1-alxndr@bu.edu>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

7c18f2d629-Apr-2023 Richard Henderson <richard.henderson@linaro.org>

Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* Fix compilation issues under Debian 10
* Update kernel headers to 6.3rc5
* Suppress GCC13 false positive in aio_bh_poll()
*

Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* Fix compilation issues under Debian 10
* Update kernel headers to 6.3rc5
* Suppress GCC13 false positive in aio_bh_poll()
* Add new x86 feature bits
* Coverity fixes
* More steps towards removing qatomic_mb_set/read
* Fix reduced-phys-bits value for AMD SEV

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmRNC0IUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroNo0wgArWNGKZpbmQ0e5L6ajMvaaPmg4mVL
# a2SJGU0TwTp0fUgZr14z2iwzIpSqQrsqhzTIAzOTs0OICDBPBuNvnRucMa+SVQGO
# Tc89YAwBVDo66dAKhWi+WR9tx7sTFCso0nbsBfczzdnwAw3g1MJ87Ueqc5tlPGBK
# E7YSAD6l4UuogoN5BLU7bSsG/X7bwcyzeUXRB4ik+Z9abWd4DH9qiROnBKLMmBLK
# nAi47h8b8MltWORpO+wf6HtkMKi37SAzl9VLHVuHcRhIdY/JhWCRhYSo0HXhgX66
# JLVkyxFpIndT0dUW/xnqATGez92FRZyTxHbxbAcWM0SoC1jOVfUXB+7Gdw==
# =vxou
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 29 Apr 2023 01:19:14 PM BST
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [undefined]
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83

* tag 'for-upstream' of https://gitlab.com/bonzini/qemu:
cpus-common: stop using mb_set/mb_read
async: Suppress GCC13 false positive in aio_bh_poll()
tests: vhost-user-test: release mutex on protocol violation
Update linux headers to v6.3rc5
update-linux-headers.sh: Add missing kernel headers.
Fix libvhost-user.c compilation.
target/i386: Add support for PREFETCHIT0/1 in CPUID enumeration
target/i386: Add support for AVX-NE-CONVERT in CPUID enumeration
target/i386: Add support for AVX-VNNI-INT8 in CPUID enumeration
target/i386: Add support for AVX-IFMA in CPUID enumeration
target/i386: Add support for AMX-FP16 in CPUID enumeration
target/i386: Add support for CMPCCXADD in CPUID enumeration
i386/cpu: Update how the EBX register of CPUID 0x8000001F is set
i386/sev: Update checks and information related to reduced-phys-bits
qemu-options.hx: Update the reduced-phys-bits documentation
qapi, i386/sev: Change the reduced-phys-bits value from 5 to 1

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/openbmc/qemu/cpus-common.c
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/interop/firmware.json
/openbmc/qemu/include/standard-headers/drm/drm_fourcc.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/fuse.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/vhost_types.h
/openbmc/qemu/include/standard-headers/linux/virtio_blk.h
/openbmc/qemu/linux-headers/asm-arm64/kvm.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/linux/const.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/memfd.h
/openbmc/qemu/linux-headers/linux/nvme_ioctl.h
/openbmc/qemu/linux-headers/linux/stddef.h
/openbmc/qemu/linux-headers/linux/vfio.h
/openbmc/qemu/linux-headers/linux/vhost.h
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/control.json
/openbmc/qemu/qapi/cryptodev.json
/openbmc/qemu/qapi/job.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/qapi-schema.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/rdma.json
/openbmc/qemu/qapi/replay.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/stats.json
/openbmc/qemu/qapi/tpm.json
/openbmc/qemu/qapi/trace.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/yank.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/storage-daemon/qapi/qapi-schema.json
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/sev.c
async.c
d66ba6dc20-Apr-2023 Cédric Le Goater <clg@redhat.com>

async: Suppress GCC13 false positive in aio_bh_poll()

GCC13 reports an error :

../util/async.c: In function ‘aio_bh_poll’:
include/qemu/queue.h:303:22: error: storing the address of local variable

async: Suppress GCC13 false positive in aio_bh_poll()

GCC13 reports an error :

../util/async.c: In function ‘aio_bh_poll’:
include/qemu/queue.h:303:22: error: storing the address of local variable ‘slice’ in ‘*ctx.bh_slice_list.sqh_last’ [-Werror=dangling-pointer=]
303 | (head)->sqh_last = &(elm)->field.sqe_next; \
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../util/async.c:169:5: note: in expansion of macro ‘QSIMPLEQ_INSERT_TAIL’
169 | QSIMPLEQ_INSERT_TAIL(&ctx->bh_slice_list, &slice, next);
| ^~~~~~~~~~~~~~~~~~~~
../util/async.c:161:17: note: ‘slice’ declared here
161 | BHListSlice slice;
| ^~~~~
../util/async.c:161:17: note: ‘ctx’ declared here

But the local variable 'slice' is removed from the global context list
in following loop of the same routine. Add a pragma to silent GCC.

Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20230420202939.1982044-1-clg@kaod.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/docs/devel/qom.rst
/openbmc/qemu/docs/devel/style.rst
/openbmc/qemu/docs/system/guest-loader.rst
/openbmc/qemu/include/standard-headers/drm/drm_fourcc.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/fuse.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/vhost_types.h
/openbmc/qemu/include/standard-headers/linux/virtio_blk.h
/openbmc/qemu/linux-headers/asm-arm64/kvm.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/linux/const.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/memfd.h
/openbmc/qemu/linux-headers/linux/nvme_ioctl.h
/openbmc/qemu/linux-headers/linux/stddef.h
/openbmc/qemu/linux-headers/linux/vfio.h
/openbmc/qemu/linux-headers/linux/vhost.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/linux_ssh_mips_malta.py
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/requirements.txt
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/cris/Makefile.target
/openbmc/qemu/tests/tcg/hppa/Makefile.target
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/riscv64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/riscv64/Makefile.target
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/tricore/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/xtensa/Makefile.softmmu-target
async.c
2074424e28-Apr-2023 Richard Henderson <richard.henderson@linaro.org>

Merge tag 'pull-request-2023-04-28' of https://gitlab.com/thuth/qemu into staging

* Prevent reentrant DMA accesses by default
* Only compile hw/rdma code when necessary
* Fix a potential locking iss

Merge tag 'pull-request-2023-04-28' of https://gitlab.com/thuth/qemu into staging

* Prevent reentrant DMA accesses by default
* Only compile hw/rdma code when necessary
* Fix a potential locking issue in the vhost-user-test
* Offer more registers in GDB for s390x TCG

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmRLlDkRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbU98RAApVbehXIXMF4lm0B4/pTRlP7CEjbKvNdQ
# Ca/xuqiCctjisJWQMLf8WDdymzaA02ycSYo0X9diO4uisKog4kN4uYje3VTbSJnx
# 7a0MlOpUqP6AR3hZYy5y/wv1M7Yjfhnj7yTUsAo/mQYoZmvqRviNwJ6ekdIU9J4W
# V2EfY+R/ebNami9VvuHTqudcZxmmR+4S5m5JipeHvjFE0DJucES0S8sN3W+iSCxG
# ydqG02CUoZtoorkJZccy3FPyeTVHgvcNqJbhAA5pFBgo30L+mx0llqztzLnWnLCe
# GWvpW2lZ2jC5MOg8oEpbiR807eB3ITpzCu9SX0IUOxMUHpGtl49sx1WNFrrlgD4Z
# b+mZSwJx4grwkU8iD/nF0apQoqEIAH6VSyRAIq1yLAsq1H4/K4c8M+bZ/jAD+gw+
# +DujZIPJ6Gcu3BeqWgOcOY1rRol3ksmRYlU8GrHTR/zIU+q3h7Gk3aH4+Ore1qnE
# hI/YzyyZlQgFMvENqakPJIS9IH+h41gCltwE8YxqJyUWIBfRs7iBMzdxQuUW+c2b
# n6OPYqeDlQt4hEpq4mUtZ+aJV1ey6kyk5ESLTj8QaJiZtcT1+lmvZX2ug2oeyrJm
# ys2458ulKZu0rGjXWWXNFB8u3MM9xN/PLqeD/wKShyLzkit5Nfx4azw5LPbmjrbj
# Twmf1HGeUiY=
# =v84A
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 28 Apr 2023 10:39:05 AM BST
# gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg: issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [undefined]
# gpg: aka "Thomas Huth <thuth@redhat.com>" [undefined]
# gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# gpg: aka "Thomas Huth <huth@tuxfamily.org>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2023-04-28' of https://gitlab.com/thuth/qemu:
apic: disable reentrancy detection for apic-msi
raven: disable reentrancy detection for iomem
bcm2835_property: disable reentrancy detection for iomem
lsi53c895a: disable reentrancy detection for script RAM
hw: replace most qemu_bh_new calls with qemu_bh_new_guarded
checkpatch: add qemu_bh_new/aio_bh_new checks
async: Add an optional reentrancy guard to the BH API
memory: prevent dma-reentracy issues
tests: vhost-user-test: release mutex on protocol violation
hw/rdma: VMW_PVRDMA should depend on VMXNET3_PCI
hw/rdma: Compile target-independent parts of the rdma code only once
hw/rdma: Remove unused macros PG_DIR_SZ and PG_TBL_SZ
s390x/gdb: Split s390-virt.xml

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/configs/targets/s390x-linux-user.mak
/openbmc/qemu/configs/targets/s390x-softmmu.mak
/openbmc/qemu/docs/devel/multiple-iothreads.txt
/openbmc/qemu/docs/devel/qom.rst
/openbmc/qemu/docs/devel/style.rst
/openbmc/qemu/docs/system/guest-loader.rst
/openbmc/qemu/gdb-xml/s390-virt-kvm.xml
/openbmc/qemu/gdb-xml/s390-virt.xml
/openbmc/qemu/hw/9pfs/xen-9p-backend.c
/openbmc/qemu/hw/block/dataplane/virtio-blk.c
/openbmc/qemu/hw/block/dataplane/xen-block.c
/openbmc/qemu/hw/char/virtio-serial-bus.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/ahci_internal.h
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/misc/imx_rngc.c
/openbmc/qemu/hw/misc/macio/mac_dbdma.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/pci-host/raven.c
/openbmc/qemu/hw/rdma/Kconfig
/openbmc/qemu/hw/rdma/meson.build
/openbmc/qemu/hw/rdma/rdma_rm.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/mptsas.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/usb/dev-uas.c
/openbmc/qemu/hw/usb/hcd-dwc2.c
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/usb/hcd-uhci.c
/openbmc/qemu/hw/usb/host-libusb.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/usb/xen-usb.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/qemu/main-loop.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/target/s390x/gdbstub.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/linux_ssh_mips_malta.py
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/requirements.txt
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/cris/Makefile.target
/openbmc/qemu/tests/tcg/hppa/Makefile.target
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/riscv64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/riscv64/Makefile.target
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/tricore/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/xtensa/Makefile.softmmu-target
/openbmc/qemu/tests/unit/ptimer-test-stubs.c
async.c
main-loop.c
trace-events
9c86c97f27-Apr-2023 Alexander Bulekov <alxndr@bu.edu>

async: Add an optional reentrancy guard to the BH API

Devices can pass their MemoryReentrancyGuard (from their DeviceState),
when creating new BHes. Then, the async API will toggle the guard
before/

async: Add an optional reentrancy guard to the BH API

Devices can pass their MemoryReentrancyGuard (from their DeviceState),
when creating new BHes. Then, the async API will toggle the guard
before/after calling the BH call-back. This prevents bh->mmio reentrancy
issues.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20230427211013.2994127-3-alxndr@bu.edu>
[thuth: Fix "line over 90 characters" checkpatch.pl error]
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/.mailmap
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/dmg.c
/openbmc/qemu/block/dmg.h
/openbmc/qemu/block/export/vhost-user-blk-server.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2-snapshot.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/configs/targets/s390x-linux-user.mak
/openbmc/qemu/configs/targets/s390x-softmmu.mak
/openbmc/qemu/docs/devel/acpi-bits.rst
/openbmc/qemu/docs/devel/multiple-iothreads.txt
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/devel/qom.rst
/openbmc/qemu/docs/devel/style.rst
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/docs/pcie_sriov.txt
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/pci-ids.rst
/openbmc/qemu/docs/specs/pci-serial.rst
/openbmc/qemu/docs/specs/pci-testdev.rst
/openbmc/qemu/docs/system/guest-loader.rst
/openbmc/qemu/gdb-xml/s390-virt-kvm.xml
/openbmc/qemu/gdb-xml/s390-virt.xml
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/9pfs/codir.c
/openbmc/qemu/hw/acpi/cxl.c
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/char/serial-pci-multi.c
/openbmc/qemu/hw/char/serial-pci.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/amd_iommu.h
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/intel_iommu_internal.h
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/rdma/Kconfig
/openbmc/qemu/hw/rdma/meson.build
/openbmc/qemu/hw/rdma/rdma_rm.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/virtio/vhost-user-i2c.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/cxl/cxl.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_bridge.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/qemu/main-loop.h
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/options.h
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/postcopy-ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/tls.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/qapi/commands.py
/openbmc/qemu/scripts/qapi/expr.py
/openbmc/qemu/scripts/qapi/gen.py
/openbmc/qemu/scripts/qapi/main.py
/openbmc/qemu/scripts/qapi/schema.py
/openbmc/qemu/scripts/qapi/visit.py
/openbmc/qemu/scripts/tracetool/backend/ftrace.py
/openbmc/qemu/scripts/tracetool/backend/log.py
/openbmc/qemu/scripts/tracetool/backend/syslog.py
/openbmc/qemu/scripts/vmstate-static-checker.py
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.h
/openbmc/qemu/target/s390x/gdbstub.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/linux_ssh_mips_malta.py
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qapi-schema/args-if-implicit.err
/openbmc/qemu/tests/qapi-schema/args-if-implicit.json
/openbmc/qemu/tests/qapi-schema/args-if-implicit.out
/openbmc/qemu/tests/qapi-schema/args-if-unboxed.err
/openbmc/qemu/tests/qapi-schema/args-if-unboxed.json
/openbmc/qemu/tests/qapi-schema/args-if-unboxed.out
/openbmc/qemu/tests/qapi-schema/bad-data.err
/openbmc/qemu/tests/qapi-schema/event-args-if-unboxed.err
/openbmc/qemu/tests/qapi-schema/event-args-if-unboxed.json
/openbmc/qemu/tests/qapi-schema/event-args-if-unboxed.out
/openbmc/qemu/tests/qapi-schema/event-nest-struct.err
/openbmc/qemu/tests/qapi-schema/meson.build
/openbmc/qemu/tests/qapi-schema/nested-struct-data.err
/openbmc/qemu/tests/qapi-schema/qapi-schema-test.json
/openbmc/qemu/tests/qapi-schema/qapi-schema-test.out
/openbmc/qemu/tests/qapi-schema/returns-dict.err
/openbmc/qemu/tests/qapi-schema/struct-data-typename.err
/openbmc/qemu/tests/qapi-schema/struct-data-typename.json
/openbmc/qemu/tests/qapi-schema/struct-data-typename.out
/openbmc/qemu/tests/qapi-schema/struct-member-invalid.err
/openbmc/qemu/tests/qapi-schema/test-qapi.py
/openbmc/qemu/tests/qapi-schema/union-array-branch.err
/openbmc/qemu/tests/qapi-schema/union-invalid-discriminator.err
/openbmc/qemu/tests/qapi-schema/union-invalid-discriminator.json
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subfield.err
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subfield.json
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subfield.out
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subtype.err
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subtype.json
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subtype.out
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/requirements.txt
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/cris/Makefile.target
/openbmc/qemu/tests/tcg/hppa/Makefile.target
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/riscv64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/riscv64/Makefile.target
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/tricore/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/xtensa/Makefile.softmmu-target
/openbmc/qemu/tests/unit/ptimer-test-stubs.c
/openbmc/qemu/tests/unit/test-qobject-input-visitor.c
/openbmc/qemu/tests/unit/test-qobject-output-visitor.c
/openbmc/qemu/tests/unit/test-thread-pool.c
async.c
main-loop.c
trace-events
7757b55e27-Apr-2023 Paolo Bonzini <pbonzini@redhat.com>

stat64: Add stat64_set() operation

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
S

stat64: Add stat64_set() operation

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>

show more ...


/openbmc/qemu/.mailmap
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/dmg.c
/openbmc/qemu/block/dmg.h
/openbmc/qemu/block/export/vhost-user-blk-server.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2-snapshot.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/docs/devel/acpi-bits.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/docs/pcie_sriov.txt
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/pci-ids.rst
/openbmc/qemu/docs/specs/pci-serial.rst
/openbmc/qemu/docs/specs/pci-testdev.rst
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/9pfs/codir.c
/openbmc/qemu/hw/acpi/cxl.c
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/char/serial-pci-multi.c
/openbmc/qemu/hw/char/serial-pci.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/amd_iommu.h
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/intel_iommu_internal.h
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/virtio/vhost-user-i2c.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/cxl/cxl.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_bridge.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/qemu/stats64.h
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/options.h
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/postcopy-ram.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/tls.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/qapi/commands.py
/openbmc/qemu/scripts/qapi/expr.py
/openbmc/qemu/scripts/qapi/gen.py
/openbmc/qemu/scripts/qapi/main.py
/openbmc/qemu/scripts/qapi/schema.py
/openbmc/qemu/scripts/qapi/visit.py
/openbmc/qemu/scripts/tracetool/backend/ftrace.py
/openbmc/qemu/scripts/tracetool/backend/log.py
/openbmc/qemu/scripts/tracetool/backend/syslog.py
/openbmc/qemu/scripts/vmstate-static-checker.py
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.h
/openbmc/qemu/tests/qapi-schema/args-if-implicit.err
/openbmc/qemu/tests/qapi-schema/args-if-implicit.json
/openbmc/qemu/tests/qapi-schema/args-if-implicit.out
/openbmc/qemu/tests/qapi-schema/args-if-unboxed.err
/openbmc/qemu/tests/qapi-schema/args-if-unboxed.json
/openbmc/qemu/tests/qapi-schema/args-if-unboxed.out
/openbmc/qemu/tests/qapi-schema/bad-data.err
/openbmc/qemu/tests/qapi-schema/event-args-if-unboxed.err
/openbmc/qemu/tests/qapi-schema/event-args-if-unboxed.json
/openbmc/qemu/tests/qapi-schema/event-args-if-unboxed.out
/openbmc/qemu/tests/qapi-schema/event-nest-struct.err
/openbmc/qemu/tests/qapi-schema/meson.build
/openbmc/qemu/tests/qapi-schema/nested-struct-data.err
/openbmc/qemu/tests/qapi-schema/qapi-schema-test.json
/openbmc/qemu/tests/qapi-schema/qapi-schema-test.out
/openbmc/qemu/tests/qapi-schema/returns-dict.err
/openbmc/qemu/tests/qapi-schema/struct-data-typename.err
/openbmc/qemu/tests/qapi-schema/struct-data-typename.json
/openbmc/qemu/tests/qapi-schema/struct-data-typename.out
/openbmc/qemu/tests/qapi-schema/struct-member-invalid.err
/openbmc/qemu/tests/qapi-schema/test-qapi.py
/openbmc/qemu/tests/qapi-schema/union-array-branch.err
/openbmc/qemu/tests/qapi-schema/union-invalid-discriminator.err
/openbmc/qemu/tests/qapi-schema/union-invalid-discriminator.json
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subfield.err
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subfield.json
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subfield.out
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subtype.err
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subtype.json
/openbmc/qemu/tests/qapi-schema/union-invalid-union-subtype.out
/openbmc/qemu/tests/unit/test-qobject-input-visitor.c
/openbmc/qemu/tests/unit/test-qobject-output-visitor.c
/openbmc/qemu/tests/unit/test-thread-pool.c
stats64.c
aef04fc703-Feb-2023 Emanuele Giuseppe Esposito <eesposit@redhat.com>

thread-pool: avoid passing the pool parameter every time

thread_pool_submit_aio() is always called on a pool taken from
qemu_get_current_aio_context(), and that is the only intended
use: each pool r

thread-pool: avoid passing the pool parameter every time

thread_pool_submit_aio() is always called on a pool taken from
qemu_get_current_aio_context(), and that is the only intended
use: each pool runs only in the same thread that is submitting
work to it, it can't run anywhere else.

Therefore simplify the thread_pool_submit* API and remove the
ThreadPool function parameter.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20230203131731.851116-5-eesposit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

0fdb731103-Feb-2023 Emanuele Giuseppe Esposito <eesposit@redhat.com>

thread-pool: use ThreadPool from the running thread

Use qemu_get_current_aio_context() where possible, since we always
submit work to the current thread anyways.

We want to also be sure that the th

thread-pool: use ThreadPool from the running thread

Use qemu_get_current_aio_context() where possible, since we always
submit work to the current thread anyways.

We want to also be sure that the thread submitting the work is
the same as the one processing the pool, to avoid adding
synchronization to the pool list.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20230203131731.851116-4-eesposit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

fa45f8da19-Apr-2023 Peter Xu <peterx@redhat.com>

util/mmap-alloc: qemu_fd_getfs()

This new helper fetches file system type for a fd. Only Linux is
implemented so far. Currently only tmpfs and hugetlbfs are defined,
but it can grow as needed.

Si

util/mmap-alloc: qemu_fd_getfs()

This new helper fetches file system type for a fd. Only Linux is
implemented so far. Currently only tmpfs and hugetlbfs are defined,
but it can grow as needed.

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>

show more ...


/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/chardev/char-file.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/cpu.c
/openbmc/qemu/docs/devel/atomics.rst
/openbmc/qemu/docs/devel/kconfig.rst
/openbmc/qemu/docs/specs/tpm.rst
/openbmc/qemu/docs/system/arm/cubieboard.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/orangepi.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/introduction.rst
/openbmc/qemu/gdb-xml/aarch64-pauth.xml
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/allwinner-a10.c
/openbmc/qemu/hw/arm/allwinner-h3.c
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/arm/fsl-imx6ul.c
/openbmc/qemu/hw/arm/fsl-imx7.c
/openbmc/qemu/hw/arm/mcimx6ul-evk.c
/openbmc/qemu/hw/arm/mcimx7d-sabre.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xlnx-versal-virt.c
/openbmc/qemu/hw/char/meson.build
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/meson.build
/openbmc/qemu/hw/display/meson.build
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/net/imx_fec.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_rtas.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/timer/exynos4210_mct.c
/openbmc/qemu/hw/timer/imx_epit.c
/openbmc/qemu/hw/tpm/Kconfig
/openbmc/qemu/hw/tpm/meson.build
/openbmc/qemu/hw/tpm/tpm_tis.h
/openbmc/qemu/hw/tpm/tpm_tis_common.c
/openbmc/qemu/hw/tpm/tpm_tis_i2c.c
/openbmc/qemu/hw/tpm/trace-events
/openbmc/qemu/hw/watchdog/Kconfig
/openbmc/qemu/hw/watchdog/allwinner-wdt.c
/openbmc/qemu/hw/watchdog/meson.build
/openbmc/qemu/hw/watchdog/trace-events
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/tswap.h
/openbmc/qemu/include/hw/acpi/tpm.h
/openbmc/qemu/include/hw/arm/allwinner-a10.h
/openbmc/qemu/include/hw/arm/allwinner-h3.h
/openbmc/qemu/include/hw/arm/fsl-imx6ul.h
/openbmc/qemu/include/hw/arm/fsl-imx7.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/net/imx_fec.h
/openbmc/qemu/include/hw/watchdog/allwinner-wdt.h
/openbmc/qemu/include/qemu/mmap-alloc.h
/openbmc/qemu/include/sysemu/qtest.h
/openbmc/qemu/include/sysemu/tpm.h
/openbmc/qemu/include/tcg/tcg.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/coverity-scan/coverity-scan.docker
/openbmc/qemu/softmmu/dirtylimit.c
/openbmc/qemu/softmmu/meson.build
/openbmc/qemu/softmmu/qtest.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/cpu_tcg.c
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/arm/kvm-consts.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/kvm_arm.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/tlb_helper.c
/openbmc/qemu/target/hexagon/dectree.py
/openbmc/qemu/target/hexagon/gen_analyze_funcs.py
/openbmc/qemu/target/hexagon/gen_helper_funcs.py
/openbmc/qemu/target/hexagon/gen_helper_protos.py
/openbmc/qemu/target/hexagon/gen_idef_parser_funcs.py
/openbmc/qemu/target/hexagon/gen_op_attribs.py
/openbmc/qemu/target/hexagon/gen_op_regs.py
/openbmc/qemu/target/hexagon/gen_opcodes_def.py
/openbmc/qemu/target/hexagon/gen_printinsn.py
/openbmc/qemu/target/hexagon/gen_shortcode.py
/openbmc/qemu/target/hexagon/gen_tcg.h
/openbmc/qemu/target/hexagon/gen_tcg_func_table.py
/openbmc/qemu/target/hexagon/gen_tcg_funcs.py
/openbmc/qemu/target/hexagon/genptr.c
/openbmc/qemu/target/hexagon/genptr.h
/openbmc/qemu/target/hexagon/helper.h
/openbmc/qemu/target/hexagon/hex_common.py
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.y
/openbmc/qemu/target/hexagon/idef-parser/parser-helpers.c
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/target/hexagon/op_helper.h
/openbmc/qemu/target/hexagon/translate.c
/openbmc/qemu/target/hexagon/translate.h
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tcg/arm/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/mips/tcg-target.c.inc
/openbmc/qemu/tcg/optimize.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/riscv/tcg-target.c.inc
/openbmc/qemu/tcg/s390x/tcg-target.c.inc
/openbmc/qemu/tcg/sparc64/tcg-target.c.inc
/openbmc/qemu/tcg/tcg-ldst.c.inc
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tcg/tci/tcg-target.c.inc
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/lcitool/targets/opensuse-leap-15.yml
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/qtest_aspeed.c
/openbmc/qemu/tests/qtest/qtest_aspeed.h
/openbmc/qemu/tests/qtest/tpm-crb-swtpm-test.c
/openbmc/qemu/tests/qtest/tpm-crb-test.c
/openbmc/qemu/tests/qtest/tpm-tis-device-swtpm-test.c
/openbmc/qemu/tests/qtest/tpm-tis-i2c-test.c
/openbmc/qemu/tests/qtest/tpm-tis-swtpm-test.c
/openbmc/qemu/tests/qtest/tpm-tis-util.c
/openbmc/qemu/tests/qtest/tpm-tis-util.h
/openbmc/qemu/tests/qtest/tpm-util.c
/openbmc/qemu/tests/qtest/tpm-util.h
/openbmc/qemu/tests/tcg/hexagon/Makefile.target
/openbmc/qemu/tests/tcg/hexagon/hvx_misc.c
/openbmc/qemu/tests/tcg/hexagon/hvx_misc.h
/openbmc/qemu/tests/tcg/hexagon/misc.c
/openbmc/qemu/tests/unit/test-crypto-secret.c
/openbmc/qemu/tests/vm/freebsd
mmap-alloc.c
512c90c903-Mar-2023 Paolo Bonzini <pbonzini@redhat.com>

qemu-coroutine: remove qatomic_mb_read()

Replace with an explicit barrier and a comment.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


/openbmc/qemu/.gitignore
/openbmc/qemu/VERSION
/openbmc/qemu/block.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/copy-on-read.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/file-win32.c
/openbmc/qemu/block/filter-compress.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/preallocate.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/replication.c
/openbmc/qemu/block/vhdx-log.c
/openbmc/qemu/configure
/openbmc/qemu/hw/char/xen_console.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/i2c/allwinner-i2c.c
/openbmc/qemu/hw/misc/lasi.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/ns.c
/openbmc/qemu/hw/nvme/trace-events
/openbmc/qemu/include/block/block-io.h
/openbmc/qemu/include/block/block_int-common.h
/openbmc/qemu/include/hw/misc/lasi.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/migration/qemu-file-types.h
/openbmc/qemu/include/qapi/qmp/dispatch.h
/openbmc/qemu/include/sysemu/block-backend-io.h
/openbmc/qemu/io/channel-tls.c
/openbmc/qemu/io/channel.c
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/qapi/qmp-dispatch.c
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/mtest2make.py
/openbmc/qemu/scripts/qapi/commands.py
/openbmc/qemu/subprojects/slirp.wrap
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/mips/tcg-target.h
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tests/qemu-iotests/tests/regression-vhdx-log
/openbmc/qemu/tests/qemu-iotests/tests/regression-vhdx-log.out
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/ui/vnc.c
qemu-coroutine.c
64f1c63d10-Apr-2023 Peter Maydell <peter.maydell@linaro.org>

Merge tag 'pull_error_handle_fix_use_after_free.v1' of https://github.com/stefanberger/qemu-tpm into staging

Fix use-after-free in util/error.c

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCAAdFiEEu

Merge tag 'pull_error_handle_fix_use_after_free.v1' of https://github.com/stefanberger/qemu-tpm into staging

Fix use-after-free in util/error.c

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCAAdFiEEuBi5yt+QicLVzsZrda1lgCoLQhEFAmQu9xYACgkQda1lgCoL
# QhFX2ggAnZZF2KgvVSRh67X+3VdVsg+ifFc/k7kMq74UhTr4lXojPCcgSPu8PaRZ
# Mv0I+xNv9pjEU7frwi6vc9DXyhWrVTLgW4TugVBgsB75CnjvFN3lw3T9goCc1h4m
# eO7c6SMdUpyQG7ar1mqt2m0bjVz85OAsNYBiAjxfyrKzX6B/mHyru5re/8VC3Hho
# IJWGlS51IxrVq44qjB8Lh3voXiEru7dX/y86fWqAiy61pON6+A43rBDIb9JOVv8q
# QiHqXVjs9/ax9ZNRudlgJ7bAlUFp6vD9xBm6ztlABI9MCYZeibU6jPMLCBYnGiJq
# f//Sqqd4WsqnhOJOLYeMNfFMElIXEw==
# =uu4l
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 06 Apr 2023 17:45:10 BST
# gpg: using RSA key B818B9CADF9089C2D5CEC66B75AD65802A0B4211
# gpg: Good signature from "Stefan Berger <stefanb@linux.vnet.ibm.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: B818 B9CA DF90 89C2 D5CE C66B 75AD 6580 2A0B 4211

* tag 'pull_error_handle_fix_use_after_free.v1' of https://github.com/stefanberger/qemu-tpm:
util/error: Fix use-after-free errors reported by Coverity

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/.git-blame-ignore-revs
/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/VERSION
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/tb-maint.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/block/dmg-lzfse.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/mmap.c
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gdbstub/meson.build
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/i2c/pmbus_device.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/pci-host/gt64120.c
/openbmc/qemu/hw/ssi/xilinx_spi.c
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/core/tcg-cpu-ops.h
/openbmc/qemu/linux-user/arm/target_cpu.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/flatload.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/mips/target_elf.h
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/linux-user/user-internals.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/scripts/coverage/compare_gcov_json.py
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/softmmu/meson.build
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/watchpoint.c
/openbmc/qemu/target/arm/gdbstub64.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/tcg/mte_helper.c
/openbmc/qemu/target/arm/tcg/pauth_helper.c
/openbmc/qemu/target/arm/tcg/sve_helper.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/loongarch/translate.c
/openbmc/qemu/target/s390x/tcg/mem_helper.c
/openbmc/qemu/tcg/sparc64/tcg-target.c.inc
/openbmc/qemu/tests/avocado/kvm_xen_guest.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/openbmc/qemu/tests/qemu-iotests/meson.build
/openbmc/qemu/tests/vm/netbsd
error.c
cc40b8b806-Apr-2023 Stefan Berger <stefanb@linux.ibm.com>

util/error: Fix use-after-free errors reported by Coverity

Fix use-after-free errors in the code path that called error_handle(). A
call to error_handle() will now either free the passed Error 'err'

util/error: Fix use-after-free errors reported by Coverity

Fix use-after-free errors in the code path that called error_handle(). A
call to error_handle() will now either free the passed Error 'err' or
assign it to '*errp' if '*errp' is currently NULL. This ensures that 'err'
either has been freed or is assigned to '*errp' if this function returns.
Adjust the two callers of this function to not assign the 'err' to '*errp'
themselves, since this is now handled by error_handle().

Fixes: commit 3ffef1a55ca3 ("error: add global &error_warn destination")
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20230406154347.4100700-1-stefanb@linux.ibm.com

show more ...


/openbmc/qemu/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
/openbmc/qemu/VERSION
/openbmc/qemu/accel/accel-softmmu.c
/openbmc/qemu/accel/tcg/cpu-exec-common.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/contrib/elf2dmp/addrspace.c
/openbmc/qemu/contrib/elf2dmp/main.c
/openbmc/qemu/contrib/elf2dmp/pe.h
/openbmc/qemu/contrib/gitdm/domain-map
/openbmc/qemu/contrib/gitdm/group-map-alibaba
/openbmc/qemu/contrib/gitdm/group-map-amd
/openbmc/qemu/contrib/gitdm/group-map-individuals
/openbmc/qemu/cpu.c
/openbmc/qemu/docs/system/arm/cpu-features.rst
/openbmc/qemu/dump/dump.c
/openbmc/qemu/dump/win_dump.c
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gitdm.config
/openbmc/qemu/hw/arm/collie.c
/openbmc/qemu/hw/arm/cubieboard.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/npcm7xx_boards.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/omap_sx1.c
/openbmc/qemu/hw/arm/orangepi.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/char/cadence_uart.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/machine-smp.c
/openbmc/qemu/hw/i386/kvm/xen_evtchn.c
/openbmc/qemu/hw/i386/kvm/xen_xenstore.c
/openbmc/qemu/hw/i386/sgx.c
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/m68k/next-cube.c
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/mem/memory-device.c
/openbmc/qemu/hw/mem/sparse-mem.c
/openbmc/qemu/hw/openrisc/boot.c
/openbmc/qemu/hw/ppc/ppc4xx_sdram.c
/openbmc/qemu/hw/ppc/spapr_softmmu.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/shakti_c.c
/openbmc/qemu/hw/riscv/virt-acpi-build.c
/openbmc/qemu/hw/usb/imx-usb-phy.c
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/vfio/igd.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/qemu/plugin-event.h
/openbmc/qemu/include/qemu/plugin.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/include/user/syscall-trace.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/exit.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/migration/exec.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/scripts/ci/org.centos/stream/8/build-environment.yml
/openbmc/qemu/scripts/ci/setup/gitlab-runner.yml
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/host-cpu.c
/openbmc/qemu/target/i386/kvm/xen-emu.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/whpx/whpx-apic.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/s390x/cpu-sysemu.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/tcg/tcg-op.c
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/machine_aarch64_virt.py
/openbmc/qemu/tests/avocado/multiprocess.py
/openbmc/qemu/tests/avocado/netdev-ethtool.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/meson.build
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/testrunner.py
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/dbus.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/ui/spice-core.c
error.c
1ff4a81b05-Feb-2023 Emilio Cota <cota@braap.org>

tcg: use QTree instead of GTree

qemu-user can hang in a multi-threaded fork. One common
reason is that when creating a TB, between fork and exec
we manipulate a GTree whose memory allocator (GSlice)

tcg: use QTree instead of GTree

qemu-user can hang in a multi-threaded fork. One common
reason is that when creating a TB, between fork and exec
we manipulate a GTree whose memory allocator (GSlice) is
not fork-safe.

Although POSIX does not mandate it, the system's allocator
(e.g. tcmalloc, libc malloc) is probably fork-safe.

Fix some of these hangs by using QTree, which uses the system's
allocator regardless of the Glib version that we used at
configuration time.

Tested with the test program in the original bug report, i.e.:
```

void garble() {
int pid = fork();
if (pid == 0) {
exit(0);
} else {
int wstatus;
waitpid(pid, &wstatus, 0);
}
}

void supragarble(unsigned depth) {
if (depth == 0)
return ;

std::thread a(supragarble, depth-1);
std::thread b(supragarble, depth-1);
garble();
a.join();
b.join();
}

int main() {
supragarble(10);
}
```

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/285
Reported-by: Valentin David <me@valentindavid.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Emilio Cota <cota@braap.org>
Message-Id: <20230205163758.416992-3-cota@braap.org>
[rth: Add QEMU_DISABLE_CFI for all callback using functions.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

e3feb2cc05-Feb-2023 Emilio Cota <cota@braap.org>

util: import GTree as QTree

The only reason to add this implementation is to control the memory allocator
used. Some users (e.g. TCG) cannot work reliably in multi-threaded
environments (e.g. forkin

util: import GTree as QTree

The only reason to add this implementation is to control the memory allocator
used. Some users (e.g. TCG) cannot work reliably in multi-threaded
environments (e.g. forking in user-mode) with GTree's allocator, GSlice.
See https://gitlab.com/qemu-project/qemu/-/issues/285 for details.

Importing GTree is a temporary workaround until GTree migrates away
from GSlice.

This implementation is identical to that in glib v2.75.0, except that
we don't import recent additions to the API nor deprecated API calls,
none of which are used in QEMU.

I've imported tests from glib and added a benchmark just to
make sure that performance is similar. Note: it cannot be identical
because (1) we are not using GSlice, (2) we use different compilation flags
(e.g. -fPIC) and (3) we're linking statically.

$ cat /proc/cpuinfo| grep 'model name' | head -1
model name : AMD Ryzen 7 PRO 5850U with Radeon Graphics
$ echo '0' | sudo tee /sys/devices/system/cpu/cpufreq/boost
$ tests/bench/qtree-bench

Tree Op 32 1024 4096 131072 1048576
------------------------------------------------------------------------------------------------
GTree Lookup 83.23 43.08 25.31 19.40 16.22
QTree Lookup 113.42 (1.36x) 53.83 (1.25x) 28.38 (1.12x) 17.64 (0.91x) 13.04 (0.80x)
GTree Insert 44.23 29.37 25.83 19.49 17.03
QTree Insert 46.87 (1.06x) 25.62 (0.87x) 24.29 (0.94x) 16.83 (0.86x) 12.97 (0.76x)
GTree Remove 53.27 35.15 31.43 24.64 16.70
QTree Remove 57.32 (1.08x) 41.76 (1.19x) 38.37 (1.22x) 29.30 (1.19x) 15.07 (0.90x)
GTree RemoveAll 135.44 127.52 126.72 120.11 64.34
QTree RemoveAll 127.15 (0.94x) 110.37 (0.87x) 107.97 (0.85x) 97.13 (0.81x) 55.10 (0.86x)
GTree Traverse 277.71 276.09 272.78 246.72 98.47
QTree Traverse 370.33 (1.33x) 411.97 (1.49x) 400.23 (1.47x) 262.82 (1.07x) 78.52 (0.80x)
------------------------------------------------------------------------------------------------

As a sanity check, the same benchmark when Glib's version
is >= $glib_dropped_gslice_version (i.e. QTree == GTree):

Tree Op 32 1024 4096 131072 1048576
------------------------------------------------------------------------------------------------
GTree Lookup 82.72 43.09 24.18 19.73 16.09
QTree Lookup 81.82 (0.99x) 43.10 (1.00x) 24.20 (1.00x) 19.76 (1.00x) 16.26 (1.01x)
GTree Insert 45.07 29.62 26.34 19.90 17.18
QTree Insert 45.72 (1.01x) 29.60 (1.00x) 26.38 (1.00x) 19.71 (0.99x) 17.20 (1.00x)
GTree Remove 54.48 35.36 31.77 24.97 16.95
QTree Remove 54.46 (1.00x) 35.32 (1.00x) 31.77 (1.00x) 24.91 (1.00x) 17.15 (1.01x)
GTree RemoveAll 140.68 127.36 125.43 121.45 68.20
QTree RemoveAll 140.65 (1.00x) 127.64 (1.00x) 125.01 (1.00x) 121.73 (1.00x) 67.06 (0.98x)
GTree Traverse 278.68 276.05 266.75 251.65 104.93
QTree Traverse 278.31 (1.00x) 275.78 (1.00x) 266.42 (1.00x) 247.89 (0.99x) 104.58 (1.00x)
------------------------------------------------------------------------------------------------

Signed-off-by: Emilio Cota <cota@braap.org>
Message-Id: <20230205163758.416992-2-cota@braap.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

e62da98523-Mar-2023 Stefan Hajnoczi <stefanha@redhat.com>

aio-posix: fix race between epoll upgrade and aio_set_fd_handler()

If another thread calls aio_set_fd_handler() while the IOThread event
loop is upgrading from ppoll(2) to epoll(7) then we might mis

aio-posix: fix race between epoll upgrade and aio_set_fd_handler()

If another thread calls aio_set_fd_handler() while the IOThread event
loop is upgrading from ppoll(2) to epoll(7) then we might miss new
AioHandlers. The epollfd will not monitor the new AioHandler's fd,
resulting in hangs.

Take the AioHandler list lock while upgrading to epoll. This prevents
AioHandlers from changing while epoll is being set up. If we cannot lock
because we're in a nested event loop, then don't upgrade to epoll (it
will happen next time we're not in a nested call).

The downside to taking the lock is that the aio_set_fd_handler() thread
has to wait until the epoll upgrade is finished, which involves many
epoll_ctl(2) system calls. However, this scenario is rare and I couldn't
think of another solution that is still simple.

Reported-by: Qing Wang <qinwang@redhat.com>
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2090998
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Fam Zheng <fam@euphon.net>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230323144859.1338495-1-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

2957dc4023-Mar-2023 Stefan Hajnoczi <stefanha@redhat.com>

block/export: only acquire AioContext once for vhost_user_server_stop()

vhost_user_server_stop() uses AIO_WAIT_WHILE(). AIO_WAIT_WHILE()
requires that AioContext is only acquired once.

Since blk_ex

block/export: only acquire AioContext once for vhost_user_server_stop()

vhost_user_server_stop() uses AIO_WAIT_WHILE(). AIO_WAIT_WHILE()
requires that AioContext is only acquired once.

Since blk_exp_request_shutdown() already acquires the AioContext it
shouldn't be acquired again in vhost_user_server_stop().

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20230323145853.1345527-1-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/VERSION
/openbmc/qemu/accel/accel-softmmu.c
/openbmc/qemu/accel/tcg/cpu-exec-common.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/xen/xen-all.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/contrib/elf2dmp/addrspace.c
/openbmc/qemu/contrib/elf2dmp/main.c
/openbmc/qemu/contrib/elf2dmp/pe.h
/openbmc/qemu/contrib/gitdm/domain-map
/openbmc/qemu/contrib/gitdm/group-map-alibaba
/openbmc/qemu/contrib/gitdm/group-map-amd
/openbmc/qemu/contrib/gitdm/group-map-individuals
/openbmc/qemu/cpu.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/system/arm/cpu-features.rst
/openbmc/qemu/dump/dump.c
/openbmc/qemu/dump/win_dump.c
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gitdm.config
/openbmc/qemu/hw/arm/collie.c
/openbmc/qemu/hw/arm/cubieboard.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/npcm7xx_boards.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/omap_sx1.c
/openbmc/qemu/hw/arm/orangepi.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/block/fdc.c
/openbmc/qemu/hw/block/nand.c
/openbmc/qemu/hw/block/onenand.c
/openbmc/qemu/hw/block/tc58128.c
/openbmc/qemu/hw/char/cadence_uart.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/machine-smp.c
/openbmc/qemu/hw/i386/kvm/xen_evtchn.c
/openbmc/qemu/hw/i386/kvm/xen_xenstore.c
/openbmc/qemu/hw/i386/sgx.c
/openbmc/qemu/hw/ide/cmd646.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/microdrive.c
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/m68k/next-cube.c
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/mem/memory-device.c
/openbmc/qemu/hw/mem/sparse-mem.c
/openbmc/qemu/hw/openrisc/boot.c
/openbmc/qemu/hw/ppc/ppc4xx_sdram.c
/openbmc/qemu/hw/ppc/spapr_softmmu.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/shakti_c.c
/openbmc/qemu/hw/riscv/virt-acpi-build.c
/openbmc/qemu/hw/usb/imx-usb-phy.c
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/vfio/igd.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/xenpv/xen_machine_pv.c
/openbmc/qemu/include/hw/block/flash.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/ide/internal.h
/openbmc/qemu/include/qemu/plugin-event.h
/openbmc/qemu/include/qemu/plugin.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/include/user/syscall-trace.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/exit.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/migration/exec.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/qga/vss-win32/install.cpp
/openbmc/qemu/scripts/ci/org.centos/stream/8/build-environment.yml
/openbmc/qemu/scripts/ci/setup/gitlab-runner.yml
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/host-cpu.c
/openbmc/qemu/target/i386/kvm/xen-emu.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/whpx/whpx-apic.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/s390x/cpu-sysemu.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/target/s390x/s390x-internal.h
/openbmc/qemu/tcg/tcg-op.c
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/machine_aarch64_virt.py
/openbmc/qemu/tests/avocado/multiprocess.py
/openbmc/qemu/tests/avocado/netdev-ethtool.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/meson.build
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/testrunner.py
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/dbus.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/ui/spice-core.c
vhost-user-server.c
f3ab43ac20-Mar-2023 Marc-André Lureau <marcandre.lureau@redhat.com>

win32: add qemu_close_socket_osfhandle()

Close the given file descriptor, but returns the underlying SOCKET.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Be

win32: add qemu_close_socket_osfhandle()

Close the given file descriptor, but returns the underlying SOCKET.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230320133643.1618437-2-marcandre.lureau@redhat.com>

show more ...

12345678910>>...78