History log of /openbmc/qemu/block/ (Results 1 – 25 of 5922)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a22bd36629-Aug-2024 Kevin Wolf <kwolf@redhat.com>

raw-format: Fix error message for invalid offset/size

s->offset and s->size are only set at the end of the function and still
contain the old values when formatting the error message. Print the
para

raw-format: Fix error message for invalid offset/size

s->offset and s->size are only set at the end of the function and still
contain the old values when formatting the error message. Print the
parameters with the new values that we actually checked instead.

Fixes: 500e2434207d ('raw-format: Split raw_read_options()')
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20240829185527.47152-1-kwolf@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 04bbc3ee52b32ac465547bb40c1f090a1b8f315a)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...

7eefbf8b12-Jul-2024 Fiona Ebner <f.ebner@proxmox.com>

block/reqlist: allow adding overlapping requests

Allow overlapping request by removing the assert that made it
impossible. There are only two callers:

1. block_copy_task_create()

It already assert

block/reqlist: allow adding overlapping requests

Allow overlapping request by removing the assert that made it
impossible. There are only two callers:

1. block_copy_task_create()

It already asserts the very same condition before calling
reqlist_init_req().

2. cbw_snapshot_read_lock()

There is no need to have read requests be non-overlapping in
copy-before-write when used for snapshot-access. In fact, there was no
protection against two callers of cbw_snapshot_read_lock() calling
reqlist_init_req() with overlapping ranges and this could lead to an
assertion failure [1].

In particular, with the reproducer script below [0], two
cbw_co_snapshot_block_status() callers could race, with the second
calling reqlist_init_req() before the first one finishes and removes
its conflicting request.

[0]:

> #!/bin/bash -e
> dd if=/dev/urandom of=/tmp/disk.raw bs=1M count=1024
> ./qemu-img create /tmp/fleecing.raw -f raw 1G
> (
> ./qemu-system-x86_64 --qmp stdio \
> --blockdev raw,node-name=node0,file.driver=file,file.filename=/tmp/disk.raw \
> --blockdev raw,node-name=node1,file.driver=file,file.filename=/tmp/fleecing.raw \
> <<EOF
> {"execute": "qmp_capabilities"}
> {"execute": "blockdev-add", "arguments": { "driver": "copy-before-write", "file": "node0", "target": "node1", "node-name": "node3" } }
> {"execute": "blockdev-add", "arguments": { "driver": "snapshot-access", "file": "node3", "node-name": "snap0" } }
> {"execute": "nbd-server-start", "arguments": {"addr": { "type": "unix", "data": { "path": "/tmp/nbd.socket" } } } }
> {"execute": "block-export-add", "arguments": {"id": "exp0", "node-name": "snap0", "type": "nbd", "name": "exp0"}}
> EOF
> ) &
> sleep 5
> while true; do
> ./qemu-nbd -d /dev/nbd0
> ./qemu-nbd -c /dev/nbd0 nbd:unix:/tmp/nbd.socket:exportname=exp0 -f raw -r
> nbdinfo --map 'nbd+unix:///exp0?socket=/tmp/nbd.socket'
> done

[1]:

> #5 0x000071e5f0088eb2 in __GI___assert_fail (...) at ./assert/assert.c:101
> #6 0x0000615285438017 in reqlist_init_req (...) at ../block/reqlist.c:23
> #7 0x00006152853e2d98 in cbw_snapshot_read_lock (...) at ../block/copy-before-write.c:237
> #8 0x00006152853e3068 in cbw_co_snapshot_block_status (...) at ../block/copy-before-write.c:304
> #9 0x00006152853f4d22 in bdrv_co_snapshot_block_status (...) at ../block/io.c:3726
> #10 0x000061528543a63e in snapshot_access_co_block_status (...) at ../block/snapshot-access.c:48
> #11 0x00006152853f1a0a in bdrv_co_do_block_status (...) at ../block/io.c:2474
> #12 0x00006152853f2016 in bdrv_co_common_block_status_above (...) at ../block/io.c:2652
> #13 0x00006152853f22cf in bdrv_co_block_status_above (...) at ../block/io.c:2732
> #14 0x00006152853d9a86 in blk_co_block_status_above (...) at ../block/block-backend.c:1473
> #15 0x000061528538da6c in blockstatus_to_extents (...) at ../nbd/server.c:2374
> #16 0x000061528538deb1 in nbd_co_send_block_status (...) at ../nbd/server.c:2481
> #17 0x000061528538f424 in nbd_handle_request (...) at ../nbd/server.c:2978
> #18 0x000061528538f906 in nbd_trip (...) at ../nbd/server.c:3121
> #19 0x00006152855a7caf in coroutine_trampoline (...) at ../util/coroutine-ucontext.c:175

Cc: qemu-stable@nongnu.org
Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-Id: <20240712140716.517911-1-f.ebner@proxmox.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
(cherry picked from commit 6475155d519209c80fdda53e05130365aa769838)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/build.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-14.vars
/openbmc/qemu/.gitlab-ci.d/container-cross.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/VERSION
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
copy-before-write.c
reqlist.c
/openbmc/qemu/blockdev-nbd.c
/openbmc/qemu/bsd-user/mmap.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/Makefile
/openbmc/qemu/contrib/plugins/execlog.c
/openbmc/qemu/crypto/cipher-nettle.c.inc
/openbmc/qemu/crypto/pbkdf-gcrypt.c
/openbmc/qemu/crypto/pbkdf-gnutls.c
/openbmc/qemu/crypto/pbkdf.c
/openbmc/qemu/crypto/tlscredspsk.c
/openbmc/qemu/docs/about/emulation.rst
/openbmc/qemu/docs/devel/migration/uadk-compression.rst
/openbmc/qemu/docs/devel/tcg-plugins.rst
/openbmc/qemu/docs/interop/index.rst
/openbmc/qemu/docs/interop/live-block-operations.rst
/openbmc/qemu/docs/interop/nbd.rst
/openbmc/qemu/docs/interop/parallels.rst
/openbmc/qemu/docs/interop/prl-xml.rst
/openbmc/qemu/docs/interop/qemu-ga.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/rocker.rst
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/docs/tools/qemu-vmsr-helper.rst
/openbmc/qemu/hw/arm/smmu-common.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/audio/trace-events
/openbmc/qemu/hw/audio/virtio-snd.c
/openbmc/qemu/hw/char/stm32l4x5_usart.c
/openbmc/qemu/hw/core/ptimer.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/x86-common.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/intc/arm_gic.c
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/mips/loongson3_virt.c
/openbmc/qemu/hw/misc/stm32l4x5_rcc.c
/openbmc/qemu/hw/net/vhost_net.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/remote/message.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ramlist.h
/openbmc/qemu/include/hw/arm/virt.h
/openbmc/qemu/include/hw/pci/pci_device.h
/openbmc/qemu/include/hw/ppc/mac_dbdma.h
/openbmc/qemu/include/qapi/qmp/qobject.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/compiler.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/include/sysemu/runstate.h
/openbmc/qemu/linux-user/mips/target_elf.h
/openbmc/qemu/linux-user/mips64/target_elf.h
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/multifd-uadk.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/po/it.po
/openbmc/qemu/qapi/rocker.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/main.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
/openbmc/qemu/scripts/replay-dump.py
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/runstate.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/tcg/helper-a64.h
/openbmc/qemu/target/arm/tcg/hflags.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/hexagon/meson.build
/openbmc/qemu/target/hppa/cpu.h
/openbmc/qemu/target/hppa/helper.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/access.c
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/cc_helper_template.h.inc
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/mips/tcg/sysemu/tlb_helper.c
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/target/sparc/insns.decode
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/intel_iommu.py
/openbmc/qemu/tests/avocado/linux_initrd.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/machine_mips_malta.py
/openbmc/qemu/tests/avocado/machine_rx_gdbsim.py
/openbmc/qemu/tests/avocado/ppc_hv_tests.py
/openbmc/qemu/tests/avocado/replay_kernel.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/avocado/reverse_debugging.py
/openbmc/qemu/tests/avocado/smmu.py
/openbmc/qemu/tests/docker/dockerfiles/alpine.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-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-i686-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.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/ubuntu2204.docker
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/233.out
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_usart-test.c
/openbmc/qemu/tests/tcg/x86_64/Makefile.target
/openbmc/qemu/tests/tcg/x86_64/test-2175.c
/openbmc/qemu/tests/unit/ptimer-test.c
/openbmc/qemu/tests/vm/generated/freebsd.json
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/util/module.c
/openbmc/qemu/util/qemu-timer.c
547c4e5008-Aug-2024 Stefano Garzarella <sgarzare@redhat.com>

block/blkio: use FUA flag on write zeroes only if supported

libblkio supports BLKIO_REQ_FUA with write zeros requests only since
version 1.4.0, so let's inform the block layer that the blkio driver

block/blkio: use FUA flag on write zeroes only if supported

libblkio supports BLKIO_REQ_FUA with write zeros requests only since
version 1.4.0, so let's inform the block layer that the blkio driver
supports it only in this case. Otherwise we can have runtime errors
as reported in https://issues.redhat.com/browse/RHEL-32878

Fixes: fd66dbd424 ("blkio: add libblkio block driver")
Cc: qemu-stable@nongnu.org
Buglink: https://issues.redhat.com/browse/RHEL-32878
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240808080545.40744-1-sgarzare@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

c8a76dbd06-Aug-2024 Eric Blake <eblake@redhat.com>

nbd/server: CVE-2024-7409: Cap default max-connections to 100

Allowing an unlimited number of clients to any web service is a recipe
for a rudimentary denial of service attack: the client merely nee

nbd/server: CVE-2024-7409: Cap default max-connections to 100

Allowing an unlimited number of clients to any web service is a recipe
for a rudimentary denial of service attack: the client merely needs to
open lots of sockets without closing them, until qemu no longer has
any more fds available to allocate.

For qemu-nbd, we default to allowing only 1 connection unless more are
explicitly asked for (-e or --shared); this was historically picked as
a nice default (without an explicit -t, a non-persistent qemu-nbd goes
away after a client disconnects, without needing any additional
follow-up commands), and we are not going to change that interface now
(besides, someday we want to point people towards qemu-storage-daemon
instead of qemu-nbd).

But for qemu proper, and the newer qemu-storage-daemon, the QMP
nbd-server-start command has historically had a default of unlimited
number of connections, in part because unlike qemu-nbd it is
inherently persistent until nbd-server-stop. Allowing multiple client
sockets is particularly useful for clients that can take advantage of
MULTI_CONN (creating parallel sockets to increase throughput),
although known clients that do so (such as libnbd's nbdcopy) typically
use only 8 or 16 connections (the benefits of scaling diminish once
more sockets are competing for kernel attention). Picking a number
large enough for typical use cases, but not unlimited, makes it
slightly harder for a malicious client to perform a denial of service
merely by opening lots of connections withot progressing through the
handshake.

This change does not eliminate CVE-2024-7409 on its own, but reduces
the chance for fd exhaustion or unlimited memory usage as an attack
surface. On the other hand, by itself, it makes it more obvious that
with a finite limit, we have the problem of an unauthenticated client
holding 100 fds opened as a way to block out a legitimate client from
being able to connect; thus, later patches will further add timeouts
to reject clients that are not making progress.

This is an INTENTIONAL change in behavior, and will break any client
of nbd-server-start that was not passing an explicit max-connections
parameter, yet expects more than 100 simultaneous connections. We are
not aware of any such client (as stated above, most clients aware of
MULTI_CONN get by just fine on 8 or 16 connections, and probably cope
with later connections failing by relying on the earlier connections;
libvirt has not yet been passing max-connections, but generally
creates NBD servers with the intent for a single client for the sake
of live storage migration; meanwhile, the KubeSAN project anticipates
a large cluster sharing multiple clients [up to 8 per node, and up to
100 nodes in a cluster], but it currently uses qemu-nbd with an
explicit --shared=0 rather than qemu-storage-daemon with
nbd-server-start).

We considered using a deprecation period (declare that omitting
max-parameters is deprecated, and make it mandatory in 3 releases -
then we don't need to pick an arbitrary default); that has zero risk
of breaking any apps that accidentally depended on more than 100
connections, and where such breakage might not be noticed under unit
testing but only under the larger loads of production usage. But it
does not close the denial-of-service hole until far into the future,
and requires all apps to change to add the parameter even if 100 was
good enough. It also has a drawback that any app (like libvirt) that
is accidentally relying on an unlimited default should seriously
consider their own CVE now, at which point they are going to change to
pass explicit max-connections sooner than waiting for 3 qemu releases.
Finally, if our changed default breaks an app, that app can always
pass in an explicit max-parameters with a larger value.

It is also intentional that the HMP interface to nbd-server-start is
not changed to expose max-connections (any client needing to fine-tune
things should be using QMP).

Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-ID: <20240807174943.771624-12-eblake@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
[ericb: Expand commit message to summarize Dan's argument for why we
break corner-case back-compat behavior without a deprecation period]
Signed-off-by: Eric Blake <eblake@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
monitor/block-hmp-cmds.c
/openbmc/qemu/blockdev-nbd.c
/openbmc/qemu/docs/specs/pci-ids.rst
/openbmc/qemu/gdb-xml/hexagon-core.xml
/openbmc/qemu/hw/block/fdc-isa.c
/openbmc/qemu/hw/block/pflash_cfi01.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/intc/Kconfig
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/loongson_ipi.c
/openbmc/qemu/hw/intc/loongson_ipi_common.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/pci-host/gt64120.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/hw/intc/loongarch_ipi.h
/openbmc/qemu/include/hw/intc/loongson_ipi.h
/openbmc/qemu/include/hw/intc/loongson_ipi_common.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/hexagon/cpu-qom.h
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/gdbstub.c
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.y
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tests/qemu-iotests/024
/openbmc/qemu/tests/qemu-iotests/024.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/fat16.py
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/tests/vvfat
/openbmc/qemu/tests/qemu-iotests/tests/vvfat.out
/openbmc/qemu/tests/tcg/hexagon/usr.c
/openbmc/qemu/ui/console.c
5eed3db320-Jul-2024 Amjad Alsharafi <amjadsharafi10@gmail.com>

vvfat: Fix reading files with non-continuous clusters

When reading with `read_cluster` we get the `mapping` with
`find_mapping_for_cluster` and then we call `open_file` for this
mapping.
The issue a

vvfat: Fix reading files with non-continuous clusters

When reading with `read_cluster` we get the `mapping` with
`find_mapping_for_cluster` and then we call `open_file` for this
mapping.
The issue appear when its the same file, but a second cluster that is
not immediately after it, imagine clusters `500 -> 503`, this will give
us 2 mappings one has the range `500..501` and another `503..504`, both
point to the same file, but different offsets.

When we don't open the file since the path is the same, we won't assign
`s->current_mapping` and thus accessing way out of bound of the file.

From our example above, after `open_file` (that didn't open anything) we
will get the offset into the file with
`s->cluster_size*(cluster_num-s->current_mapping->begin)`, which will
give us `0x2000 * (504-500)`, which is out of bound for this mapping and
will produce some issues.

Signed-off-by: Amjad Alsharafi <amjadsharafi10@gmail.com>
Message-ID: <1f3ea115779abab62ba32c788073cdc99f9ad5dd.1721470238.git.amjadsharafi10@gmail.com>
[kwolf: Simplified the patch based on Amjad's analysis and input]
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

f60a6f7e20-Jul-2024 Amjad Alsharafi <amjadsharafi10@gmail.com>

vvfat: Fix wrong checks for cluster mappings invariant

How this `abort` was intended to check for was:
- if the `mapping->first_mapping_index` is not the same as
`first_mapping_index`, which **sho

vvfat: Fix wrong checks for cluster mappings invariant

How this `abort` was intended to check for was:
- if the `mapping->first_mapping_index` is not the same as
`first_mapping_index`, which **should** happen only in one case,
when we are handling the first mapping, in that case
`mapping->first_mapping_index == -1`, in all other cases, the other
mappings after the first should have the condition `true`.
- From above, we know that this is the first mapping, so if the offset
is not `0`, then abort, since this is an invalid state.

The issue was that `first_mapping_index` is not set if we are
checking from the middle, the variable `first_mapping_index` is
only set if we passed through the check `cluster_was_modified` with the
first mapping, and in the same function call we checked the other
mappings.

One approach is to go into the loop even if `cluster_was_modified`
is not true so that we will be able to set `first_mapping_index` for the
first mapping, but since `first_mapping_index` is only used here,
another approach is to just check manually for the
`mapping->first_mapping_index != -1` since we know that this is the
value for the only entry where `offset == 0` (i.e. first mapping).

Signed-off-by: Amjad Alsharafi <amjadsharafi10@gmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <b0fbca3ee208c565885838f6a7deeaeb23f4f9c2.1721470238.git.amjadsharafi10@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

21b25a0e20-Jul-2024 Amjad Alsharafi <amjadsharafi10@gmail.com>

vvfat: Fix usage of `info.file.offset`

The field is marked as "the offset in the file (in clusters)", but it
was being used like this
`cluster_size*(nums)+mapping->info.file.offset`, which is incorr

vvfat: Fix usage of `info.file.offset`

The field is marked as "the offset in the file (in clusters)", but it
was being used like this
`cluster_size*(nums)+mapping->info.file.offset`, which is incorrect.

Signed-off-by: Amjad Alsharafi <amjadsharafi10@gmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <72f19a7903886dda1aa78bcae0e17702ee939262.1721470238.git.amjadsharafi10@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

b881cf0020-Jul-2024 Amjad Alsharafi <amjadsharafi10@gmail.com>

vvfat: Fix bug in writing to middle of file

Before this commit, the behavior when calling `commit_one_file` for
example with `offset=0x2000` (second cluster), what will happen is that
we won't fetch

vvfat: Fix bug in writing to middle of file

Before this commit, the behavior when calling `commit_one_file` for
example with `offset=0x2000` (second cluster), what will happen is that
we won't fetch the next cluster from the fat, and instead use the first
cluster for the read operation.

This is due to off-by-one error here, where `i=0x2000 !< offset=0x2000`,
thus not fetching the next cluster.

Signed-off-by: Amjad Alsharafi <amjadsharafi10@gmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Tested-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <b97c1e1f1bc2f776061ae914f95d799d124fcd73.1721470238.git.amjadsharafi10@gmail.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

d5f6cbb227-Jun-2024 Kevin Wolf <kwolf@redhat.com>

block-copy: Fix missing graph lock

The graph lock needs to be held when calling bdrv_co_pdiscard(). Fix
block_copy_task_entry() to take it for the call.

WITH_GRAPH_RDLOCK_GUARD() was implemented in

block-copy: Fix missing graph lock

The graph lock needs to be held when calling bdrv_co_pdiscard(). Fix
block_copy_task_entry() to take it for the call.

WITH_GRAPH_RDLOCK_GUARD() was implemented in a weak way because of
limitations in clang's Thread Safety Analysis at the time, so that it
only asserts that the lock is held (which allows calling functions that
require the lock), but we never deal with the unlocking (so even after
the scope of the guard, the compiler assumes that the lock is still
held). This is why the compiler didn't catch this locking error.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20240627181245.281403-2-kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest-template.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/crossbuild-template.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/README.rst
/openbmc/qemu/VERSION
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/kvm/kvm-cpus.h
/openbmc/qemu/accel/kvm/trace-events
/openbmc/qemu/accel/stubs/tcg-stub.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/audio/dbusaudio.c
/openbmc/qemu/audio/trace-events
/openbmc/qemu/backends/Kconfig
/openbmc/qemu/backends/hostmem-epc.c
/openbmc/qemu/backends/iommufd.c
/openbmc/qemu/backends/meson.build
/openbmc/qemu/backends/rng-random.c
/openbmc/qemu/backends/spdm-socket.c
/openbmc/qemu/backends/trace-events
block-copy.c
/openbmc/qemu/bsd-user/aarch64/signal.c
/openbmc/qemu/bsd-user/aarch64/target.h
/openbmc/qemu/bsd-user/aarch64/target_arch.h
/openbmc/qemu/bsd-user/aarch64/target_arch_cpu.c
/openbmc/qemu/bsd-user/aarch64/target_arch_cpu.h
/openbmc/qemu/bsd-user/aarch64/target_arch_elf.h
/openbmc/qemu/bsd-user/aarch64/target_arch_reg.h
/openbmc/qemu/bsd-user/aarch64/target_arch_signal.h
/openbmc/qemu/bsd-user/aarch64/target_arch_sigtramp.h
/openbmc/qemu/bsd-user/aarch64/target_arch_sysarch.h
/openbmc/qemu/bsd-user/aarch64/target_arch_thread.h
/openbmc/qemu/bsd-user/aarch64/target_arch_vmparam.h
/openbmc/qemu/bsd-user/aarch64/target_syscall.h
/openbmc/qemu/bsd-user/arm/target_arch_signal.h
/openbmc/qemu/bsd-user/freebsd/os-proc.c
/openbmc/qemu/bsd-user/i386/target_arch_signal.h
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/qemu.h
/openbmc/qemu/bsd-user/signal.c
/openbmc/qemu/bsd-user/x86_64/target_arch_signal.h
/openbmc/qemu/chardev/char-io.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/chardev/char-win-stdio.c
/openbmc/qemu/chardev/msmouse.c
/openbmc/qemu/chardev/trace-events
/openbmc/qemu/configs/targets/aarch64-bsd-user.mak
/openbmc/qemu/configs/targets/loongarch64-linux-user.mak
/openbmc/qemu/configs/targets/loongarch64-softmmu.mak
/openbmc/qemu/contrib/plugins/Makefile
/openbmc/qemu/contrib/plugins/cache.c
/openbmc/qemu/contrib/plugins/execlog.c
/openbmc/qemu/contrib/plugins/lockstep.c
/openbmc/qemu/contrib/plugins/stoptrigger.c
/openbmc/qemu/contrib/systemd/qemu-vmsr-helper.service
/openbmc/qemu/contrib/systemd/qemu-vmsr-helper.socket
/openbmc/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/openbmc/qemu/cpu-common.c
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/crypto/init.c
/openbmc/qemu/crypto/tlssession.c
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/emulation.rst
/openbmc/qemu/docs/devel/crypto.rst
/openbmc/qemu/docs/devel/index-internals.rst
/openbmc/qemu/docs/devel/luks-detached-header.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/devel/tcg-plugins.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/interop/firmware.json
/openbmc/qemu/docs/interop/qemu-ga.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/docs/pcie_sriov.txt
/openbmc/qemu/docs/specs/acpi_hw_reduced_hotplug.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/rapl-msr.rst
/openbmc/qemu/docs/specs/spdm.rst
/openbmc/qemu/docs/sphinx-static/theme_overrides.css
/openbmc/qemu/docs/sphinx/depfile.py
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/tools/index.rst
/openbmc/qemu/docs/tools/qemu-vmsr-helper.rst
/openbmc/qemu/dump/dump.c
/openbmc/qemu/gdb-xml/loongarch-lasx.xml
/openbmc/qemu/gdb-xml/loongarch-lsx.xml
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/hw/acpi/acpi-cpu-hotplug-stub.c
/openbmc/qemu/hw/acpi/cpu.c
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/adc/aspeed_adc.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/arm/aspeed_soc_common.c
/openbmc/qemu/hw/arm/mps2-tz.c
/openbmc/qemu/hw/arm/smmu-common.c
/openbmc/qemu/hw/arm/smmuv3-internal.h
/openbmc/qemu/hw/arm/smmuv3.c
/openbmc/qemu/hw/arm/trace-events
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/audio/virtio-snd.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/char/bcm2835_aux.c
/openbmc/qemu/hw/char/goldfish_tty.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/cxl/cxl-events.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/cxl/cxl-mailbox-utils.c
/openbmc/qemu/hw/display/bcm2835_fb.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i2c/mpc_i2c.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/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/i386/pc_q35.c
/openbmc/qemu/hw/i386/sgx-stub.c
/openbmc/qemu/hw/i386/sgx.c
/openbmc/qemu/hw/i386/x86.c
/openbmc/qemu/hw/intc/loongson_ipi.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/pnv_xive2_regs.h
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/intc/xive2.c
/openbmc/qemu/hw/mem/cxl_type3.c
/openbmc/qemu/hw/mips/loongson3_virt.c
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/net/allwinner_emac.c
/openbmc/qemu/hw/net/igb.c
/openbmc/qemu/hw/net/rtl8139.c
/openbmc/qemu/hw/net/vhost_net.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nubus/nubus-virtio-mmio.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/pci-host/gpex-acpi.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pci_host.c
/openbmc/qemu/hw/pci/pcie_sriov.c
/openbmc/qemu/hw/pci/trace-events
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_adu.c
/openbmc/qemu/hw/ppc/pnv_chiptod.c
/openbmc/qemu/hw/ppc/pnv_core.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/pnv_xscom.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_caps.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/spapr_vhyp_mmu.c
/openbmc/qemu/hw/ppc/spapr_vof.c
/openbmc/qemu/hw/ppc/trace-events
/openbmc/qemu/hw/ppc/vof.c
/openbmc/qemu/hw/riscv/virt-acpi-build.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/ls7a_rtc.c
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/vhost-scsi.c
/openbmc/qemu/hw/scsi/vhost-user-scsi.c
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/ssi/Kconfig
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/ssi/meson.build
/openbmc/qemu/hw/ssi/pnv_spi.c
/openbmc/qemu/hw/ssi/trace-events
/openbmc/qemu/hw/timer/hpet.c
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/usb/host-libusb.c
/openbmc/qemu/hw/usb/u2f-passthru.c
/openbmc/qemu/hw/vfio/ap.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/vfio/helpers.c
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-user-fs.c
/openbmc/qemu/hw/virtio/vhost-user-vsock.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/hw/virtio/virtio-rng.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/chardev/char-fe.h
/openbmc/qemu/include/crypto/tlssession.h
/openbmc/qemu/include/disas/capstone.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/cpu_ldst.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/gdbstub/commands.h
/openbmc/qemu/include/hw/acpi/cpu.h
/openbmc/qemu/include/hw/acpi/generic_event_device.h
/openbmc/qemu/include/hw/adc/aspeed_adc.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/smmu-common.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/cxl/cxl_device.h
/openbmc/qemu/include/hw/cxl/cxl_mailbox.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/i386/sgx-epc.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/misc/aspeed_scu.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_device.h
/openbmc/qemu/include/hw/pci/pcie_doe.h
/openbmc/qemu/include/hw/pci/pcie_sriov.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/ppc/pnv_adu.h
/openbmc/qemu/include/hw/ppc/pnv_chip.h
/openbmc/qemu/include/hw/ppc/pnv_core.h
/openbmc/qemu/include/hw/ppc/pnv_lpc.h
/openbmc/qemu/include/hw/ppc/pnv_xscom.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/xive2_regs.h
/openbmc/qemu/include/hw/ssi/pnv_spi.h
/openbmc/qemu/include/hw/ssi/pnv_spi_regs.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/hw/virtio/virtio-iommu.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/qemu/fifo8.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/range.h
/openbmc/qemu/include/qemu/timer.h
/openbmc/qemu/include/semihosting/syscalls.h
/openbmc/qemu/include/sysemu/host_iommu_device.h
/openbmc/qemu/include/sysemu/iommufd.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/kvm_int.h
/openbmc/qemu/include/sysemu/spdm-socket.h
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/io/channel-tls.c
/openbmc/qemu/io/channel.c
/openbmc/qemu/linux-headers/asm-powerpc/kvm.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/file.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/tap.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
/openbmc/qemu/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
/openbmc/qemu/plugins/loader.c
/openbmc/qemu/qapi/acpi.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/control.json
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/cxl.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/ebpf.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/qdev.json
/openbmc/qemu/qapi/qom.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/vfio.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qapi/yank.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-bsd.c
/openbmc/qemu/qga/commands-common.h
/openbmc/qemu/qga/commands-linux.c
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/main.c
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/roms/opensbi
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/semihosting/Kconfig
/openbmc/qemu/system/async-teardown.c
/openbmc/qemu/system/cpus.c
/openbmc/qemu/system/memory_mapping.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/target/arm/cpu-param.h
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/arm/gdbstub64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/tcg/helper-sme.h
/openbmc/qemu/target/arm/tcg/sme_helper.c
/openbmc/qemu/target/arm/tcg/sve_helper.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate-sme.c
/openbmc/qemu/target/arm/tcg/translate-sve.c
/openbmc/qemu/target/hexagon/imported/mmvec/ext.idef
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/meson.build
/openbmc/qemu/target/i386/kvm/vmsr_energy.c
/openbmc/qemu/target/i386/kvm/vmsr_energy.h
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/tcg/tlb_helper.c
/openbmc/qemu/target/m68k/Kconfig
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/m68k/meson.build
/openbmc/qemu/target/m68k/semihosting-stub.c
/openbmc/qemu/target/mips/Kconfig
/openbmc/qemu/target/mips/tcg/sysemu/meson.build
/openbmc/qemu/target/mips/tcg/sysemu/semihosting-stub.c
/openbmc/qemu/target/ppc/arch_dump.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/mem_helper.c
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/mmu-book3s-v3.c
/openbmc/qemu/target/ppc/mmu-book3s-v3.h
/openbmc/qemu/target/ppc/mmu-hash32.c
/openbmc/qemu/target/ppc/mmu-hash32.h
/openbmc/qemu/target/ppc/mmu-hash64.c
/openbmc/qemu/target/ppc/mmu-hash64.h
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/mmu-radix64.h
/openbmc/qemu/target/ppc/mmu_common.c
/openbmc/qemu/target/ppc/timebase_helper.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vmx-ops.c.inc
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vsx-ops.c.inc
/openbmc/qemu/target/riscv/Kconfig
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/insn16.decode
/openbmc/qemu/target/riscv/insn32.decode
/openbmc/qemu/target/riscv/insn_trans/trans_rva.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_rvi.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzabha.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzacas.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzcmop.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzimop.c.inc
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/pmu.c
/openbmc/qemu/target/riscv/pmu.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/rx/translate.c
/openbmc/qemu/target/s390x/cpu_models_sysemu.c
/openbmc/qemu/target/s390x/tcg/mem_helper.c
/openbmc/qemu/target/sh4/helper.c
/openbmc/qemu/target/sparc/ldst_helper.c
/openbmc/qemu/target/tricore/op_helper.c
/openbmc/qemu/target/xtensa/Kconfig
/openbmc/qemu/target/xtensa/exc_helper.c
/openbmc/qemu/target/xtensa/mmu_helper.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/avocado_qemu/linuxtest.py
/openbmc/qemu/tests/avocado/boot_linux.py
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/boot_xen.py
/openbmc/qemu/tests/avocado/hotplug_blk.py
/openbmc/qemu/tests/avocado/hotplug_cpu.py
/openbmc/qemu/tests/avocado/intel_iommu.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/mem-addr-space-check.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/avocado/smmu.py
/openbmc/qemu/tests/avocado/tcg_plugins.py
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.memhp
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.pxb
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.topology
/openbmc/qemu/tests/data/acpi/riscv64/virt/APIC
/openbmc/qemu/tests/data/acpi/riscv64/virt/DSDT
/openbmc/qemu/tests/data/acpi/riscv64/virt/FACP
/openbmc/qemu/tests/data/acpi/riscv64/virt/MCFG
/openbmc/qemu/tests/data/acpi/riscv64/virt/RHCT
/openbmc/qemu/tests/data/acpi/riscv64/virt/SPCR
/openbmc/qemu/tests/data/acpi/x86/microvm/DSDT.pcie
/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-legacy-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-loongarch-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-tricore-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-xtensa-cross.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/meson.build
/openbmc/qemu/tests/qapi-schema/doc-good.json
/openbmc/qemu/tests/qapi-schema/doc-good.out
/openbmc/qemu/tests/qapi-schema/doc-good.txt
/openbmc/qemu/tests/qtest/arm-cpu-features.c
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/pnv-spi-seeprom-test.c
/openbmc/qemu/tests/qtest/pnv-xscom.h
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/README
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/gdbstub/test-mte.py
/openbmc/qemu/tests/tcg/aarch64/sme-fmopa-1.c
/openbmc/qemu/tests/tcg/aarch64/sme-fmopa-2.c
/openbmc/qemu/tests/tcg/aarch64/sme-fmopa-3.c
/openbmc/qemu/tests/tcg/alpha/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/i386/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/loongarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/plugins/bb.c
/openbmc/qemu/tests/tcg/plugins/empty.c
/openbmc/qemu/tests/tcg/plugins/inline.c
/openbmc/qemu/tests/tcg/plugins/insn.c
/openbmc/qemu/tests/tcg/plugins/mem.c
/openbmc/qemu/tests/tcg/plugins/meson.build
/openbmc/qemu/tests/tcg/plugins/syscall.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/riscv64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/x86_64/Makefile.softmmu-target
/openbmc/qemu/tests/unit/crypto-tls-psk-helpers.c
/openbmc/qemu/tests/unit/crypto-tls-x509-helpers.c
/openbmc/qemu/tests/unit/crypto-tls-x509-helpers.h
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/pkix_asn1_tab.c.inc
/openbmc/qemu/tests/unit/test-crypto-tlssession.c
/openbmc/qemu/tests/vm/generated/freebsd.json
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/tools/i386/qemu-vmsr-helper.c
/openbmc/qemu/tools/i386/rapl-msr-index.h
/openbmc/qemu/ui/clipboard.c
/openbmc/qemu/ui/console-vc.c
/openbmc/qemu/ui/cursor.c
/openbmc/qemu/ui/dbus-clipboard.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/ui/vdagent.c
/openbmc/qemu/ui/vnc.h
/openbmc/qemu/util/async.c
/openbmc/qemu/util/cpuinfo-aarch64.c
/openbmc/qemu/util/cpuinfo-ppc.c
/openbmc/qemu/util/fifo8.c
/openbmc/qemu/util/getauxval.c
/openbmc/qemu/util/oslib-posix.c
2abc22e629-Jun-2024 Michael Tokarev <mjt@tls.msk.ru>

block/curl: rewrite http header parsing function

Existing code was long, unclear and twisty.

This also relaxes the rules a tiny bit: allows to have
whitespace before header name and colon and makes

block/curl: rewrite http header parsing function

Existing code was long, unclear and twisty.

This also relaxes the rules a tiny bit: allows to have
whitespace before header name and colon and makes the
header value match to be case-insensitive.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/cpu-exec.c
curl.c
/openbmc/qemu/configs/targets/loongarch64-softmmu.mak
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/sphinx/hxtool.py
/openbmc/qemu/docs/sphinx/kerneldoc.py
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/hw/arm/stm32l4x5_soc.c
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/display/ati.c
/openbmc/qemu/hw/display/qxl-render.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/vmware_vga.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/boot.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mips/fuloong2e.c
/openbmc/qemu/hw/misc/bcm2835_thermal.c
/openbmc/qemu/hw/misc/stm32l4x5_exti.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/subsys.c
/openbmc/qemu/hw/ppc/amigaone.c
/openbmc/qemu/hw/ppc/pegasos2.c
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/ufs/ufs.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/hw/xen/xen-mapcache.c
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/core/tcg-cpu-ops.h
/openbmc/qemu/include/hw/loader.h
/openbmc/qemu/include/hw/misc/stm32l4x5_exti.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/sd/sd.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/meson.build
/openbmc/qemu/python/qemu/machine/machine.py
/openbmc/qemu/python/qemu/utils/qemu_ga_client.py
/openbmc/qemu/python/setup.cfg
/openbmc/qemu/pythondeps.toml
/openbmc/qemu/system/cpus.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/cpu-v7m.c
/openbmc/qemu/target/arm/tcg/mve_helper.c
/openbmc/qemu/target/arm/tcg/translate-a32.h
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate-m-nocp.c
/openbmc/qemu/target/arm/tcg/translate-vfp.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_shift.c.inc
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/internals.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/tests/docker/dockerfiles/python.docker
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/testrunner.py
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/dbus-listener.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/ui/spice-display.c
/openbmc/qemu/ui/vnc.c
d05ae94828-Jun-2024 Nir Soffer <nsoffer@redhat.com>

Consider discard option when writing zeros

When opening an image with discard=off, we punch hole in the image when
writing zeroes, making the image sparse. This breaks users that want to
ensure that

Consider discard option when writing zeros

When opening an image with discard=off, we punch hole in the image when
writing zeroes, making the image sparse. This breaks users that want to
ensure that writes cannot fail with ENOSPACE by using fully allocated
images[1].

bdrv_co_pwrite_zeroes() correctly disables BDRV_REQ_MAY_UNMAP if we
opened the child without discard=unmap or discard=on. But we don't go
through this function when accessing the top node. Move the check down
to bdrv_co_do_pwrite_zeroes() which seems to be used in all code paths.

This change implements the documented behavior, punching holes only when
opening the image with discard=on or discard=unmap. This may not be the
best default but can improve it later.

The test depends on a file system supporting discard, deallocating the
entire file when punching hole with the length of the entire file.
Tested with xfs, ext4, and tmpfs.

[1] https://lists.nongnu.org/archive/html/qemu-discuss/2024-06/msg00003.html

Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Message-id: 20240628202058.1964986-3-nsoffer@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
io.c
/openbmc/qemu/configs/targets/aarch64-linux-user.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/lockstep.c
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/gdb-xml/aarch64-mte.xml
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gdbstub/internals.h
/openbmc/qemu/gdbstub/syscalls.c
/openbmc/qemu/gdbstub/system.c
/openbmc/qemu/gdbstub/user-target.c
/openbmc/qemu/gdbstub/user.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/loader-fit.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/net/ftgmac100.c
/openbmc/qemu/hw/sd/core.c
/openbmc/qemu/hw/sd/npcm7xx_sdhci.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/hw/sd/sdmmc-internal.h
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/container-base.c
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/gdbstub/commands.h
/openbmc/qemu/include/hw/net/ftgmac100.h
/openbmc/qemu/include/hw/sd/sd.h
/openbmc/qemu/include/hw/vfio/vfio-container-base.h
/openbmc/qemu/include/qemu/plugin.h
/openbmc/qemu/include/sysemu/host_iommu_device.h
/openbmc/qemu/linux-user/aarch64/meson.build
/openbmc/qemu/linux-user/aarch64/mte_user_helper.c
/openbmc/qemu/linux-user/aarch64/mte_user_helper.h
/openbmc/qemu/linux-user/aarch64/target_prctl.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/control.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/introspect.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/pci.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.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/transaction.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/scripts/qapi/introspect.py
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/scripts/qapi/schema.py
/openbmc/qemu/scripts/qapi/visit.py
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/trace-events
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/gdbstub.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/mte_helper.h
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/plugin/insn.c
/openbmc/qemu/tests/qapi-schema/doc-empty-section.err
/openbmc/qemu/tests/qapi-schema/doc-empty-section.json
/openbmc/qemu/tests/qapi-schema/doc-good.json
/openbmc/qemu/tests/qapi-schema/doc-good.out
/openbmc/qemu/tests/qapi-schema/doc-good.txt
/openbmc/qemu/tests/qapi-schema/doc-interleaved-section.json
/openbmc/qemu/tests/qemu-iotests/245
/openbmc/qemu/tests/qemu-iotests/tests/write-zeroes-unmap
/openbmc/qemu/tests/qemu-iotests/tests/write-zeroes-unmap.out
/openbmc/qemu/tests/qtest/libqos/sdhci-cmd.h
/openbmc/qemu/tests/qtest/npcm7xx_sdhci-test.c
/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/aarch64/bti-1.c
/openbmc/qemu/tests/tcg/aarch64/bti-3.c
/openbmc/qemu/tests/tcg/aarch64/fcvt.ref
/openbmc/qemu/tests/tcg/aarch64/gdbstub/test-mte.py
/openbmc/qemu/tests/tcg/aarch64/mte-1.c
/openbmc/qemu/tests/tcg/aarch64/mte-8.c
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/arm/fcvt.c
/openbmc/qemu/tests/tcg/arm/fcvt.ref
/openbmc/qemu/tests/tcg/minilib/printf.c
/openbmc/qemu/trace-events
7b1070a724-May-2024 Akihiko Odaki <akihiko.odaki@daynix.com>

Revert "meson: Propagate gnutls dependency"

This reverts commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2.

It was only needed because of duplicate objects caused by
declare_dependency(link_whole: ..

Revert "meson: Propagate gnutls dependency"

This reverts commit 3eacf70bb5a83e4775ad8003cbca63a40f70c8c2.

It was only needed because of duplicate objects caused by
declare_dependency(link_whole: ...), and can be dropped now
that meson.build specifies objects and dependencies separately
for the internal dependencies.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20240524-objects-v1-2-07cbbe96166b@daynix.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
meson.build
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/tcg-plugins.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/xlnx-zynq.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/gdbstub/meson.build
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/smmu-common.c
/openbmc/qemu/hw/arm/smmuv3.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/intc/s390_flic.c
/openbmc/qemu/hw/misc/aspeed_sdmc.c
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/misc/edu.c
/openbmc/qemu/hw/misc/stm32l4x5_exti.c
/openbmc/qemu/hw/misc/zynq_slcr.c
/openbmc/qemu/hw/net/ftgmac100.c
/openbmc/qemu/hw/nvram/bcm2835_otp.c
/openbmc/qemu/hw/nvram/meson.build
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/sd/meson.build
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sd/sdmmc-internal.h
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/xen/xen-host-pci-device.c
/openbmc/qemu/hw/xen/xen-host-pci-device.h
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/arm/raspberrypi-fw-defs.h
/openbmc/qemu/include/hw/arm/smmu-common.h
/openbmc/qemu/include/hw/gpio/aspeed_gpio.h
/openbmc/qemu/include/hw/misc/bcm2835_property.h
/openbmc/qemu/include/hw/misc/stm32l4x5_exti.h
/openbmc/qemu/include/hw/misc/xlnx-cfi-if.h
/openbmc/qemu/include/hw/nvram/bcm2835_otp.h
/openbmc/qemu/include/hw/s390x/s390_flic.h
/openbmc/qemu/include/hw/sd/sd.h
/openbmc/qemu/include/hw/xen/xen.h
/openbmc/qemu/io/meson.build
/openbmc/qemu/meson.build
/openbmc/qemu/net/vmnet-bridged.m
/openbmc/qemu/net/vmnet-common.m
/openbmc/qemu/net/vmnet-host.c
/openbmc/qemu/net/vmnet-shared.c
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/pythondeps.toml
/openbmc/qemu/storage-daemon/meson.build
/openbmc/qemu/system/globals.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/cpu32.c
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/vec_helper.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/tcg/meson.build
/openbmc/qemu/tests/avocado/hotplug_blk.py
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/qtest/device-introspect-test.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/qos-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_exti-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/test-2375.c
/openbmc/qemu/ui/meson.build
bd385a5211-Apr-2024 Kevin Wolf <kwolf@redhat.com>

qcow2: Don't open data_file with BDRV_O_NO_IO

One use case for 'qemu-img info' is verifying that untrusted images
don't reference an unwanted external file, be it as a backing file or an
external da

qcow2: Don't open data_file with BDRV_O_NO_IO

One use case for 'qemu-img info' is verifying that untrusted images
don't reference an unwanted external file, be it as a backing file or an
external data file. To make sure that calling 'qemu-img info' can't
already have undesired side effects with a malicious image, just don't
open the data file at all with BDRV_O_NO_IO. If nothing ever tries to do
I/O, we don't need to have it open.

This changes the output of iotests case 061, which used 'qemu-img info'
to show that opening an image with an invalid data file fails. After
this patch, it succeeds. Replace this part of the test with a qemu-io
call, but keep the final 'qemu-img info' to show that the invalid data
file is correctly displayed in the output.

Fixes: CVE-2024-4467
Cc: qemu-stable@nongnu.org
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
qcow2.c
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/xlnx-zynq.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/smmu-common.c
/openbmc/qemu/hw/arm/smmuv3.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/misc/stm32l4x5_exti.c
/openbmc/qemu/hw/misc/zynq_slcr.c
/openbmc/qemu/hw/nvram/bcm2835_otp.c
/openbmc/qemu/hw/nvram/meson.build
/openbmc/qemu/hw/ufs/ufs.c
/openbmc/qemu/hw/xen/xen-host-pci-device.c
/openbmc/qemu/hw/xen/xen-host-pci-device.h
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/arm/raspberrypi-fw-defs.h
/openbmc/qemu/include/hw/arm/smmu-common.h
/openbmc/qemu/include/hw/loader.h
/openbmc/qemu/include/hw/misc/bcm2835_property.h
/openbmc/qemu/include/hw/misc/stm32l4x5_exti.h
/openbmc/qemu/include/hw/nvram/bcm2835_otp.h
/openbmc/qemu/include/hw/xen/xen.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/qapi/util.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/compiler.h
/openbmc/qemu/linux-user/cris/signal.c
/openbmc/qemu/linux-user/sparc/signal.c
/openbmc/qemu/net/can/can_host.c
/openbmc/qemu/os-posix.c
/openbmc/qemu/system/globals.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/cpu32.c
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/vec_helper.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/i386/cpu-dump.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/host-cpu.c
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/trace-events
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/qemu-iotests/061
/openbmc/qemu/tests/qemu-iotests/061.out
/openbmc/qemu/tests/qtest/stm32l4x5_exti-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/test-2375.c
e9c9d8dc29-Jun-2024 Akihiko Odaki <akihiko.odaki@daynix.com>

block/file-posix: Drop ifdef for macOS versions older than 12.0

macOS versions older than 12.0 are no longer supported.

docs/about/build-platforms.rst says:
> Support for the previous major version

block/file-posix: Drop ifdef for macOS versions older than 12.0

macOS versions older than 12.0 are no longer supported.

docs/about/build-platforms.rst says:
> Support for the previous major version will be dropped 2 years after
> the new major version is released or when the vendor itself drops
> support, whichever comes first.

macOS 12.0 was released 2021:
https://www.apple.com/newsroom/2021/10/macos-monterey-is-now-available/

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240629-macos-v1-3-6e70a6b700a0@daynix.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/openbmc/qemu/accel/hvf/hvf-all.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/audio/coreaudio.m
file-posix.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/net/spapr_llan.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/ufs/ufs.c
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/loader.h
/openbmc/qemu/include/hw/misc/macio/macio.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/qapi/util.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/compiler.h
/openbmc/qemu/linux-user/cris/signal.c
/openbmc/qemu/linux-user/sparc/signal.c
/openbmc/qemu/net/can/can_host.c
/openbmc/qemu/os-posix.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/i386/cpu-dump.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/host-cpu.c
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/trace-events
d656aaa104-Sep-2023 Paolo Bonzini <pbonzini@redhat.com>

block: rename former bdrv_file_open callbacks

Since there is no bdrv_file_open callback anymore, rename the implementations
so that they end with "_open" instead of "_file_open". NFS is the excepti

block: rename former bdrv_file_open callbacks

Since there is no bdrv_file_open callback anymore, rename the implementations
so that they end with "_open" instead of "_file_open". NFS is the exception
because all the functions are named nfs_file_*.

Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

44b424dc24-Nov-2022 Paolo Bonzini <pbonzini@redhat.com>

block: remove separate bdrv_file_open callback

bdrv_file_open and bdrv_open are completely equivalent, they are
never checked except to see which one to invoke. So merge them
into a single one.

Si

block: remove separate bdrv_file_open callback

bdrv_file_open and bdrv_open are completely equivalent, they are
never checked except to see which one to invoke. So merge them
into a single one.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/qtest/qtest.c
/openbmc/qemu/accel/tcg/ldst_common.c.inc
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/accel/tcg/tb-maint.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/backends/host_iommu_device.c
/openbmc/qemu/backends/iommufd.c
/openbmc/qemu/backends/meson.build
/openbmc/qemu/backends/tpm/tpm_util.c
/openbmc/qemu/backends/tpm/trace-events
/openbmc/qemu/block.c
blkdebug.c
blkio.c
blkverify.c
curl.c
file-posix.c
file-win32.c
gluster.c
iscsi.c
nbd.c
nfs.c
null.c
nvme.c
rbd.c
ssh.c
vvfat.c
/openbmc/qemu/configs/targets/riscv64-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/Makefile
/openbmc/qemu/contrib/plugins/ips.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/migration/features.rst
/openbmc/qemu/docs/devel/migration/main.rst
/openbmc/qemu/docs/devel/migration/mapped-ram.rst
/openbmc/qemu/docs/devel/migration/postcopy.rst
/openbmc/qemu/docs/devel/migration/qpl-compression.rst
/openbmc/qemu/docs/devel/migration/uadk-compression.rst
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/sbsa.rst
/openbmc/qemu/docs/system/arm/virt.rst
/openbmc/qemu/gdbstub/user.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/host/include/aarch64/host/bufferiszero.c.inc
/openbmc/qemu/host/include/generic/host/bufferiszero.c.inc
/openbmc/qemu/host/include/i386/host/bufferiszero.c.inc
/openbmc/qemu/host/include/i386/host/cpuinfo.h
/openbmc/qemu/host/include/loongarch64/host/bufferiszero.c.inc
/openbmc/qemu/host/include/loongarch64/host/cpuinfo.h
/openbmc/qemu/host/include/x86_64/host/bufferiszero.c.inc
/openbmc/qemu/hw/acpi/ich9.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/arm/meson.build
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xen_arm.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/audio/virtio-snd.c
/openbmc/qemu/hw/core/machine-qmp-cmds.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/qdev-properties-system.c
/openbmc/qemu/hw/display/qxl-render.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/dma/trace-events
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/fw_cfg.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/intc/aspeed_intc.c
/openbmc/qemu/hw/intc/gic_internal.h
/openbmc/qemu/hw/intc/goldfish_pic.c
/openbmc/qemu/hw/intc/i8259_common.c
/openbmc/qemu/hw/intc/ioapic_common.c
/openbmc/qemu/hw/intc/loongson_ipi.c
/openbmc/qemu/hw/intc/m68k_irqc.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/intc/pnv_xive.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/slavio_intctl.c
/openbmc/qemu/hw/intc/spapr_xive.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/intc/xics_spapr.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/intc/xive2.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mem/memory-device.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/mips/loongson3_bootp.c
/openbmc/qemu/hw/mips/loongson3_bootp.h
/openbmc/qemu/hw/mips/loongson3_virt.c
/openbmc/qemu/hw/misc/aspeed_scu.c
/openbmc/qemu/hw/misc/aspeed_sdmc.c
/openbmc/qemu/hw/misc/aspeed_sli.c
/openbmc/qemu/hw/misc/exynos4210_rng.c
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/net/can/xlnx-versal-canfd.c
/openbmc/qemu/hw/net/xilinx_axienet.c
/openbmc/qemu/hw/pci-host/pnv_phb3_msi.c
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_psi.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_irq.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/s390x/ccw-device.c
/openbmc/qemu/hw/s390x/ccw-device.h
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/s390x/s390-skeys.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/trace-events
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sd/sdmmc-internal.c
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/sh4/trace-events
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/ssi/trace-events
/openbmc/qemu/hw/timer/a9gtimer.c
/openbmc/qemu/hw/usb/dev-mtp.c
/openbmc/qemu/hw/usb/hcd-dwc2.c
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/hcd-xhci-nec.c
/openbmc/qemu/hw/usb/hcd-xhci-pci.c
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/usb/hcd-xhci.h
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/vfio/ap.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/container-base.c
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/vfio/helpers.c
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/spapr.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/hw/virtio/virtio-md-pci.c
/openbmc/qemu/hw/watchdog/wdt_aspeed.c
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/hw/xen/xen-mapcache.c
/openbmc/qemu/include/block/block_int-common.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/exec/memop.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/gdbstub/enums.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/virt.h
/openbmc/qemu/include/hw/firmware/smbios.h
/openbmc/qemu/include/hw/i386/intel_iommu.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/intc/aspeed_intc.h
/openbmc/qemu/include/hw/intc/intc.h
/openbmc/qemu/include/hw/intc/loongson_ipi.h
/openbmc/qemu/include/hw/mem/memory-device.h
/openbmc/qemu/include/hw/mem/pc-dimm.h
/openbmc/qemu/include/hw/misc/aspeed_scu.h
/openbmc/qemu/include/hw/misc/aspeed_sdmc.h
/openbmc/qemu/include/hw/misc/aspeed_sli.h
/openbmc/qemu/include/hw/pci-host/pnv_phb3.h
/openbmc/qemu/include/hw/pci-host/pnv_phb4.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/ppc/pnv_chip.h
/openbmc/qemu/include/hw/ppc/pnv_psi.h
/openbmc/qemu/include/hw/ppc/pnv_xive.h
/openbmc/qemu/include/hw/ppc/spapr_irq.h
/openbmc/qemu/include/hw/ppc/xics.h
/openbmc/qemu/include/hw/ppc/xive.h
/openbmc/qemu/include/hw/ppc/xive2_regs.h
/openbmc/qemu/include/hw/ppc/xive_regs.h
/openbmc/qemu/include/hw/riscv/virt.h
/openbmc/qemu/include/hw/s390x/s390-ccw.h
/openbmc/qemu/include/hw/s390x/storage-keys.h
/openbmc/qemu/include/hw/ssi/aspeed_smc.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/hw/vfio/vfio-container-base.h
/openbmc/qemu/include/hw/virtio/virtio-iommu.h
/openbmc/qemu/include/hw/watchdog/wdt_aspeed.h
/openbmc/qemu/include/hw/xen/xen-hvm-common.h
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/include/monitor/monitor.h
/openbmc/qemu/include/qemu/bswap.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/include/qemu/range.h
/openbmc/qemu/include/qemu/timer.h
/openbmc/qemu/include/sysemu/accel-ops.h
/openbmc/qemu/include/sysemu/cpu-timers.h
/openbmc/qemu/include/sysemu/host_iommu_device.h
/openbmc/qemu/include/sysemu/iommufd.h
/openbmc/qemu/include/sysemu/qtest.h
/openbmc/qemu/include/sysemu/xen-mapcache.h
/openbmc/qemu/include/sysemu/xen.h
/openbmc/qemu/include/ui/surface.h
/openbmc/qemu/io/channel-file.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/file.c
/openbmc/qemu/migration/file.h
/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-qpl.c
/openbmc/qemu/migration/multifd-uadk.c
/openbmc/qemu/migration/multifd-zlib.c
/openbmc/qemu/migration/multifd-zstd.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/multifd.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/ram.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/monitor/fds.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/monitor/hmp.c
/openbmc/qemu/monitor/monitor-internal.h
/openbmc/qemu/monitor/monitor.c
/openbmc/qemu/monitor/qmp.c
/openbmc/qemu/plugins/api.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/plugins/qemu-plugins.symbols
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/tracetool/__init__.py
/openbmc/qemu/stubs/cpus-virtual-clock.c
/openbmc/qemu/stubs/fdset.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/system/cpus.c
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/qtest.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/hyp_gdbstub.c
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/decode-new.h
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/debug.c
/openbmc/qemu/target/riscv/fpu_helper.c
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/s390x/Kconfig
/openbmc/qemu/target/s390x/arch_dump.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/mmu_helper.c
/openbmc/qemu/target/s390x/tcg/mem_helper.c
/openbmc/qemu/target/s390x/trace-events
/openbmc/qemu/target/sparc/helper.c
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tcg/loongarch64/tcg-insn-defs.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.h
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/machine_loongarch.py
/openbmc/qemu/tests/avocado/mem-addr-space-check.py
/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-i686-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.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/migration/Makefile
/openbmc/qemu/tests/migration/migration-test.h
/openbmc/qemu/tests/migration/ppc64/Makefile
/openbmc/qemu/tests/migration/ppc64/a-b-kernel.S
/openbmc/qemu/tests/migration/ppc64/a-b-kernel.h
/openbmc/qemu/tests/qtest/boot-serial-test.c
/openbmc/qemu/tests/qtest/fuzz/qos_fuzz.c
/openbmc/qemu/tests/qtest/libqos/libqos-spapr.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/libqtest.h
/openbmc/qemu/tests/qtest/migration-helpers.c
/openbmc/qemu/tests/qtest/migration-helpers.h
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/numa-test.c
/openbmc/qemu/tests/qtest/ppc-util.h
/openbmc/qemu/tests/qtest/prom-env-test.c
/openbmc/qemu/tests/qtest/pxe-test.c
/openbmc/qemu/tests/qtest/test-x86-cpuid-compat.c
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/unit/test-smp-parse.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/sdl2-2d.c
/openbmc/qemu/ui/sdl2-gl.c
/openbmc/qemu/util/bufferiszero.c
/openbmc/qemu/util/cpuinfo-i386.c
/openbmc/qemu/util/cpuinfo-loongarch.c
/openbmc/qemu/util/osdep.c
/openbmc/qemu/util/qemu-timer.c
/openbmc/qemu/util/readline.c
3ab0f06327-May-2024 Stefan Hajnoczi <stefanha@redhat.com>

crypto/block: drop qcrypto_block_open() n_threads argument

The n_threads argument is no longer used since the previous commit.
Remove it.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Messag

crypto/block: drop qcrypto_block_open() n_threads argument

The n_threads argument is no longer used since the previous commit.
Remove it.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240527155851.892885-3-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

24687abf25-Apr-2024 Prasad Pandit <pjp@fedoraproject.org>

linux-aio: add IO_CMD_FDSYNC command support

Libaio defines IO_CMD_FDSYNC command to sync all outstanding
asynchronous I/O operations, by flushing out file data to the
disk storage. Enable linux-aio

linux-aio: add IO_CMD_FDSYNC command support

Libaio defines IO_CMD_FDSYNC command to sync all outstanding
asynchronous I/O operations, by flushing out file data to the
disk storage. Enable linux-aio to submit such aio request.

When using aio=native without fdsync() support, QEMU creates
pthreads, and destroying these pthreads results in TLB flushes.
In a real-time guest environment, TLB flushes cause a latency
spike. This patch helps to avoid such spikes.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Prasad Pandit <pjp@fedoraproject.org>
Message-ID: <20240425070412.37248-1-ppandit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

10b1e09e29-Apr-2024 Fiona Ebner <f.ebner@proxmox.com>

block/copy-before-write: use uint64_t for timeout in nanoseconds

rather than the uint32_t for which the maximum is slightly more than 4
seconds and larger values would overflow. The QAPI interface a

block/copy-before-write: use uint64_t for timeout in nanoseconds

rather than the uint32_t for which the maximum is slightly more than 4
seconds and larger values would overflow. The QAPI interface allows
specifying the number of seconds, so only values 0 to 4 are safe right
now, other values lead to a much lower timeout than a user expects.

The block_copy() call where this is used already takes a uint64_t for
the timeout, so no change required there.

Fixes: 6db7fd1ca9 ("block/copy-before-write: implement cbw-timeout option")
Reported-by: Friedrich Weber <f.weber@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20240429141934.442154-1-f.ebner@proxmox.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

b67e353830-Apr-2024 Denis V. Lunev via <qemu-block@nongnu.org>

block: drop force_dup parameter of raw_reconfigure_getfd()

Since commit 72373e40fbc, this parameter is always passed as 'false'
from the caller.

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: A

block: drop force_dup parameter of raw_reconfigure_getfd()

Since commit 72373e40fbc, this parameter is always passed as 'false'
from the caller.

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Andrey Zhadchenko <andrey.zhadchenko@virtuozzo.com>
CC: Kevin Wolf <kwolf@redhat.com>
CC: Hanna Reitz <hreitz@redhat.com>
Message-ID: <20240430170213.148558-1-den@openvz.org>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners.yml
/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/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/dummy-cpus.c
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/hvf/hvf-all.c
/openbmc/qemu/accel/kvm/kvm-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/internal-common.h
/openbmc/qemu/accel/tcg/internal-target.h
/openbmc/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-all.c
/openbmc/qemu/backends/hostmem-epc.c
/openbmc/qemu/backends/hostmem-file.c
/openbmc/qemu/backends/hostmem-memfd.c
/openbmc/qemu/backends/hostmem.c
file-posix.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/configure
/openbmc/qemu/cpu-target.c
/openbmc/qemu/disas/m68k.c
/openbmc/qemu/disas/microblaze.c
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/ci-jobs.rst.inc
/openbmc/qemu/docs/devel/ci-runners.rst.inc
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/pci_expander_bridge.txt
/openbmc/qemu/docs/specs/tpm.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/raspi.rst
/openbmc/qemu/docs/system/i386/amd-memory-encryption.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/system/target-i386-desc.rst.inc
/openbmc/qemu/ebpf/ebpf_rss.c
/openbmc/qemu/ebpf/rss.bpf.skeleton.h
/openbmc/qemu/ebpf/trace.h
/openbmc/qemu/fpu/softfloat-specialize.c.inc
/openbmc/qemu/host/include/i386/host/cpuinfo.h
/openbmc/qemu/hw/9pfs/xen-9p-backend.c
/openbmc/qemu/hw/acpi/memory_hotplug.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/arm/npcm7xx.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/char/omap_uart.c
/openbmc/qemu/hw/char/stm32l4x5_usart.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/dma/pl330.c
/openbmc/qemu/hw/dma/xlnx_dpdma.c
/openbmc/qemu/hw/gpio/zaurus.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_sysfw.c
/openbmc/qemu/hw/i386/x86-common.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/input/tsc2005.c
/openbmc/qemu/hw/intc/arm_gic.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/misc/debugexit.c
/openbmc/qemu/hw/misc/pvpanic-isa.c
/openbmc/qemu/hw/misc/pvpanic-pci.c
/openbmc/qemu/hw/misc/pvpanic.c
/openbmc/qemu/hw/net/e1000e.c
/openbmc/qemu/hw/net/igb.c
/openbmc/qemu/hw/net/net_tx_pkt.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/net/vmxnet3.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/ufs/trace-events
/openbmc/qemu/hw/ufs/ufs.c
/openbmc/qemu/hw/ufs/ufs.h
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/usb/xen-usb.c
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/hw/xen/xen-legacy-backend.c
/openbmc/qemu/hw/xenpv/xen_machine_pv.c
/openbmc/qemu/include/block/ufs.h
/openbmc/qemu/include/exec/confidential-guest-support.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/core/tcg-cpu-ops.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/i386/x86.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/s390x/s390_flic.h
/openbmc/qemu/include/hw/xen/xen-legacy-backend.h
/openbmc/qemu/include/hw/xen/xen_pvdev.h
/openbmc/qemu/include/net/net.h
/openbmc/qemu/include/qapi/clone-visitor.h
/openbmc/qemu/include/qemu/cutils.h
/openbmc/qemu/include/qemu/lockable.h
/openbmc/qemu/include/standard-headers/linux/kvm_para.h
/openbmc/qemu/include/standard-headers/misc/pvpanic.h
/openbmc/qemu/include/sysemu/hostmem.h
/openbmc/qemu/include/sysemu/hvf_int.h
/openbmc/qemu/include/sysemu/xen.h
/openbmc/qemu/io/channel-tls.c
/openbmc/qemu/io/channel-websock.c
/openbmc/qemu/linux-headers/asm-loongarch/kvm.h
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/asm-x86/kvm_para.h
/openbmc/qemu/linux-headers/linux/kvm_para.h
/openbmc/qemu/linux-headers/linux/vhost.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/hexagon/cpu_loop.c
/openbmc/qemu/linux-user/ioctls.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/meson.build
/openbmc/qemu/net/dump.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/netmap.c
/openbmc/qemu/net/tap-bsd.c
/openbmc/qemu/net/tap-linux.c
/openbmc/qemu/net/tap-solaris.c
/openbmc/qemu/net/tap-stub.c
/openbmc/qemu/net/tap.c
/openbmc/qemu/net/tap_int.h
/openbmc/qemu/plugins/core.c
/openbmc/qemu/python/scripts/mkvenv.py
/openbmc/qemu/python/scripts/vendor.py
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/qapi-clone-visitor.c
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/trace.json
/openbmc/qemu/qemu-keymap.c
/openbmc/qemu/qga/main.c
/openbmc/qemu/scripts/ci/setup/ubuntu/build-environment.yml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-armhf-cross.yml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
/openbmc/qemu/scripts/kvm/vmxcap
/openbmc/qemu/scripts/oss-fuzz/build.sh
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/qtest.c
/openbmc/qemu/system/runstate.c
/openbmc/qemu/target/arm/cpu-features.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/gengvec.c
/openbmc/qemu/target/arm/tcg/gengvec64.c
/openbmc/qemu/target/arm/tcg/helper-a64.h
/openbmc/qemu/target/arm/tcg/meson.build
/openbmc/qemu/target/arm/tcg/neon-dp.decode
/openbmc/qemu/target/arm/tcg/neon_helper.c
/openbmc/qemu/target/arm/tcg/op_helper.c
/openbmc/qemu/target/arm/tcg/t32.decode
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate-a64.h
/openbmc/qemu/target/arm/tcg/translate-neon.c
/openbmc/qemu/target/arm/tcg/translate-sve.c
/openbmc/qemu/target/arm/tcg/translate-vfp.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/arm/tcg/vec_helper.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/hexagon/cpu.h
/openbmc/qemu/target/hexagon/cpu_bits.h
/openbmc/qemu/target/hexagon/gen_trans_funcs.py
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.h
/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/macros.h
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/hvf/vmx.h
/openbmc/qemu/target/i386/hvf/x86_cpuid.c
/openbmc/qemu/target/i386/hvf/x86_decode.c
/openbmc/qemu/target/i386/hvf/x86_emu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/kvm_i386.h
/openbmc/qemu/target/i386/kvm/trace-events
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/i386/nvmm/nvmm-accel-ops.c
/openbmc/qemu/target/i386/sev-sysemu-stub.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/sev.h
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/decode-new.h
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/excp_helper.c
/openbmc/qemu/target/i386/tcg/fpu_helper.c
/openbmc/qemu/target/i386/tcg/helper-tcg.h
/openbmc/qemu/target/i386/tcg/misc_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/bpt_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/svm_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/trace-events
/openbmc/qemu/target/i386/whpx/whpx-accel-ops.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/mips/tcg/sysemu/cp0_helper.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/debug.c
/openbmc/qemu/target/riscv/gdbstub.c
/openbmc/qemu/target/riscv/helper.h
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzawrs.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzicbo.c.inc
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/meson.build
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/sbi_ecall_interface.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/tcg/tcg-cpu.h
/openbmc/qemu/target/riscv/th_csr.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_internals.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/tcg/excp_helper.c
/openbmc/qemu/target/s390x/tcg/misc_helper.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/target/sparc/asi.h
/openbmc/qemu/target/sparc/cpu-feature.h.inc
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/sparc/fop_helper.c
/openbmc/qemu/target/sparc/helper.h
/openbmc/qemu/target/sparc/insns.decode
/openbmc/qemu/target/sparc/ldst_helper.c
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/sparc/vis_helper.c
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tests/avocado/intel_iommu.py
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/avocado/smmu.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/projects/qemu-win-installer.yml
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/pylintrc
/openbmc/qemu/tests/qemu-iotests/tests/backup-discard-source
/openbmc/qemu/tests/qemu-iotests/tests/backup-discard-source.out
/openbmc/qemu/tests/qemu-iotests/tests/nbd-tls-iothread
/openbmc/qemu/tests/qemu-iotests/tests/nbd-tls-iothread.out
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz_configs.h
/openbmc/qemu/tests/qtest/libqos/loongarch-virt-machine.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/numa-test.c
/openbmc/qemu/tests/tcg/hexagon/Makefile.target
/openbmc/qemu/tests/tcg/hexagon/hvx_misc.c
/openbmc/qemu/tests/tcg/hexagon/unaligned_pc.c
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/s390x/per.S
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/centos.aarch64
/openbmc/qemu/tools/ebpf/Makefile.ebpf
/openbmc/qemu/tools/ebpf/rss.bpf.c
/openbmc/qemu/trace/qmp.c
/openbmc/qemu/trace/trace-hmp-cmds.c
/openbmc/qemu/util/bufferiszero.c
/openbmc/qemu/util/cpuinfo-i386.c
/openbmc/qemu/util/hexdump.c
/openbmc/qemu/util/osdep.c
0fd05c8d13-Mar-2024 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

qapi: blockdev-backup: add discard-source parameter

Add a parameter that enables discard-after-copy. That is mostly useful
in "push backup with fleecing" scheme, when source is snapshot-access
forma

qapi: blockdev-backup: add discard-source parameter

Add a parameter that enables discard-after-copy. That is mostly useful
in "push backup with fleecing" scheme, when source is snapshot-access
format driver node, based on copy-before-write filter snapshot-access
API:

[guest] [snapshot-access] ~~ blockdev-backup ~~> [backup target]
| |
| root | file
v v
[copy-before-write]
| |
| file | target
v v
[active disk] [temp.img]

In this case discard-after-copy does two things:

- discard data in temp.img to save disk space
- avoid further copy-before-write operation in discarded area

Note that we have to declare WRITE permission on source in
copy-before-write filter, for discard to work. Still we can't take it
unconditionally, as it will break normal backup from RO source. So, we
have to add a parameter and pass it thorough bdrv_open flags.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20240313152822.626493-5-vsementsov@yandex-team.ru>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

show more ...

006e845b13-Mar-2024 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

block/copy-before-write: create block_copy bitmap in filter node

Currently block_copy creates copy_bitmap in source node. But that is in
bad relation with .independent_close=true of copy-before-writ

block/copy-before-write: create block_copy bitmap in filter node

Currently block_copy creates copy_bitmap in source node. But that is in
bad relation with .independent_close=true of copy-before-write filter:
source node may be detached and removed before .bdrv_close() handler
called, which should call block_copy_state_free(), which in turn should
remove copy_bitmap.

That's all not ideal: it would be better if internal bitmap of
block-copy object is not attached to any node. But that is not possible
now.

The simplest solution is just create copy_bitmap in filter node, where
anyway two other bitmaps are created.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Message-Id: <20240313152822.626493-4-vsementsov@yandex-team.ru>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

show more ...

5071751913-Mar-2024 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

block/copy-before-write: support unligned snapshot-discard

First thing that crashes on unligned access here is
bdrv_reset_dirty_bitmap(). Correct way is to align-down the
snapshot-discard request.

block/copy-before-write: support unligned snapshot-discard

First thing that crashes on unligned access here is
bdrv_reset_dirty_bitmap(). Correct way is to align-down the
snapshot-discard request.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Message-Id: <20240313152822.626493-3-vsementsov@yandex-team.ru>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

show more ...

137b4d4b13-Mar-2024 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

block/copy-before-write: fix permission

In case when source node does not have any parents, the condition still
works as required: backup job do create the parent by

block_job_create -> block_job

block/copy-before-write: fix permission

In case when source node does not have any parents, the condition still
works as required: backup job do create the parent by

block_job_create -> block_job_add_bdrv -> bdrv_root_attach_child

Still, in this case checking @perm variable doesn't work, as backup job
creates the root blk with empty permissions (as it rely on CBW filter
to require correct permissions and don't want to create extra
conflicts).

So, we should not check @perm.

The hack may be dropped entirely when transactional insertion of
filter (when we don't try to recalculate permissions in intermediate
state, when filter does conflict with original parent of the source
node) merged (old big series
"[PATCH v5 00/45] Transactional block-graph modifying API"[1] and it's
current in-flight part is "[PATCH v8 0/7] blockdev-replace"[2])

[1] https://patchew.org/QEMU/20220330212902.590099-1-vsementsov@openvz.org/
[2] https://patchew.org/QEMU/20231017184444.932733-1-vsementsov@yandex-team.ru/

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Message-Id: <20240313152822.626493-2-vsementsov@yandex-team.ru>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

show more ...

7d99ae5904-Apr-2024 Alexander Ivanov <alexander.ivanov@virtuozzo.com>

blockcommit: Reopen base image as RO after abort

If a blockcommit is aborted the base image remains in RW mode, that leads
to a fail of subsequent live migration.

How to reproduce:
$ virsh snapsh

blockcommit: Reopen base image as RO after abort

If a blockcommit is aborted the base image remains in RW mode, that leads
to a fail of subsequent live migration.

How to reproduce:
$ virsh snapshot-create-as vm snp1 --disk-only

*** write something to the disk inside the guest ***

$ virsh blockcommit vm vda --active --shallow && virsh blockjob vm vda --abort
$ lsof /vzt/vm.qcow2
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
qemu-syst 433203 root 45u REG 253,0 1724776448 133 /vzt/vm.qcow2
$ cat /proc/433203/fdinfo/45
pos: 0
flags: 02140002 <==== The last 2 means RW mode

If the base image is in RW mode at the end of blockcommit and was in RO
mode before blockcommit, reopen the base BDS in RO.

Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-Id: <20240404091136.129811-1-alexander.ivanov@virtuozzo.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

show more ...

12345678910>>...237