History log of /qemu/tools/ (Results 151 – 175 of 270)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a59feb4816-Apr-2020 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: only retain file system capabilities

virtiofsd runs as root but only needs a subset of root's Linux
capabilities(7). As a file server its purpose is to create and access
files on behalf

virtiofsd: only retain file system capabilities

virtiofsd runs as root but only needs a subset of root's Linux
capabilities(7). As a file server its purpose is to create and access
files on behalf of a client. It needs to be able to access files with
arbitrary uid/gid owners. It also needs to be create device nodes.

Introduce a Linux capabilities(7) whitelist and drop all capabilities
that we don't need, making the virtiofsd process less powerful than a
regular uid root process.

# cat /proc/PID/status
...
Before After
CapInh: 0000000000000000 0000000000000000
CapPrm: 0000003fffffffff 00000000880000df
CapEff: 0000003fffffffff 00000000880000df
CapBnd: 0000003fffffffff 0000000000000000
CapAmb: 0000000000000000 0000000000000000

Note that file capabilities cannot be used to achieve the same effect on
the virtiofsd executable because mount is used during sandbox setup.
Therefore we drop capabilities programmatically at the right point
during startup.

This patch only affects the sandboxed child process. The parent process
that sits in waitpid(2) still has full root capabilities and will be
addressed in the next patch.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20200416164907.244868-2-stefanha@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

ace0829c24-Apr-2020 Max Reitz <mreitz@redhat.com>

virtiofsd: Show submounts

Currently, setup_mounts() bind-mounts the shared directory without
MS_REC. This makes all submounts disappear.

Pass MS_REC so that the guest can see submounts again.

Fix

virtiofsd: Show submounts

Currently, setup_mounts() bind-mounts the shared directory without
MS_REC. This makes all submounts disappear.

Pass MS_REC so that the guest can see submounts again.

Fixes: 5baa3b8e95064c2434bd9e2f312edd5e9ae275dc
Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200424133516.73077-1-mreitz@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Changed Fixes to point to the commit with the problem rather than
the commit that turned it on

show more ...

397ae98229-Apr-2020 Miklos Szeredi <mszeredi@redhat.com>

virtiofsd: jail lo->proc_self_fd

While it's not possible to escape the proc filesystem through
lo->proc_self_fd, it is possible to escape to the root of the proc
filesystem itself through "../..".

virtiofsd: jail lo->proc_self_fd

While it's not possible to escape the proc filesystem through
lo->proc_self_fd, it is possible to escape to the root of the proc
filesystem itself through "../..".

Use a temporary mount for opening lo->proc_self_fd, that has it's root at
/proc/self/fd/, preventing access to the ancestor directories.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Message-Id: <20200429124733.22488-1-mszeredi@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

8c1d353d01-May-2020 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: stay below fs.file-max sysctl value (CVE-2020-10717)

The system-wide fs.file-max sysctl value determines how many files can
be open. It defaults to a value calculated based on the machin

virtiofsd: stay below fs.file-max sysctl value (CVE-2020-10717)

The system-wide fs.file-max sysctl value determines how many files can
be open. It defaults to a value calculated based on the machine's RAM
size. Previously virtiofsd would try to set RLIMIT_NOFILE to 1,000,000
and this allowed the FUSE client to exhaust the number of open files
system-wide on Linux hosts with less than 10 GB of RAM!

Take fs.file-max into account when choosing the default RLIMIT_NOFILE
value.

Fixes: CVE-2020-10717
Reported-by: Yuval Avrahami <yavrahami@paloaltonetworks.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20200501140644.220940-3-stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

6dbb716801-May-2020 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: add --rlimit-nofile=NUM option

Make it possible to specify the RLIMIT_NOFILE on the command-line.
Users running multiple virtiofsd processes should allocate a certain
number to each proce

virtiofsd: add --rlimit-nofile=NUM option

Make it possible to specify the RLIMIT_NOFILE on the command-line.
Users running multiple virtiofsd processes should allocate a certain
number to each process so that the system-wide limit can never be
exhausted.

When this option is set to 0 the rlimit is left at its current value.
This is useful when a management tool wants to configure the rlimit
itself.

The default behavior remains unchanged: try to set the limit to
1,000,000 file descriptors if the current rlimit is lower.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20200501140644.220940-2-stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...


/qemu/.github/lockdown.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/tcg/translate-all.c
/qemu/audio/audio.c
/qemu/audio/dsoundaudio.c
/qemu/backends/cryptodev-builtin.c
/qemu/backends/hostmem.c
/qemu/block.c
/qemu/block/backup.c
/qemu/block/block-backend.c
/qemu/block/commit.c
/qemu/block/crypto.c
/qemu/block/file-posix.c
/qemu/block/file-win32.c
/qemu/block/gluster.c
/qemu/block/io.c
/qemu/block/iscsi.c
/qemu/block/mirror.c
/qemu/block/nbd.c
/qemu/block/nfs.c
/qemu/block/nvme.c
/qemu/block/parallels.c
/qemu/block/qcow.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/qed.c
/qemu/block/raw-format.c
/qemu/block/rbd.c
/qemu/block/replication.c
/qemu/block/sheepdog.c
/qemu/block/ssh.c
/qemu/block/vdi.c
/qemu/block/vhdx-log.c
/qemu/block/vhdx.c
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/blockdev.c
/qemu/configure
/qemu/contrib/vhost-user-gpu/vhost-user-gpu.c
/qemu/contrib/vhost-user-gpu/virgl.c
/qemu/cpus.c
/qemu/device_tree.c
/qemu/docs/conf.py
/qemu/docs/devel/atomics.rst
/qemu/docs/devel/clocks.rst
/qemu/docs/devel/index.rst
/qemu/docs/devel/qapi-code-gen.txt
/qemu/docs/devel/rcu.txt
/qemu/docs/interop/qcow2.txt
/qemu/docs/sphinx/kerneldoc.py
/qemu/docs/system/deprecated.rst
/qemu/docs/system/gdb.rst
/qemu/docs/system/s390x/protvirt.rst
/qemu/docs/system/target-s390x.rst
/qemu/dump/dump.c
/qemu/dump/win_dump.c
/qemu/exec.c
/qemu/fpu/softfloat.c
/qemu/gdbstub.c
/qemu/hw/acpi/cpu.c
/qemu/hw/acpi/pcihp.c
/qemu/hw/arm/collie.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/orangepi.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zcu102.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/audio/fmopl.c
/qemu/hw/block/Makefile.objs
/qemu/hw/block/dataplane/xen-block.c
/qemu/hw/block/fdc.c
/qemu/hw/block/nvme.c
/qemu/hw/block/nvme.h
/qemu/hw/block/trace-events
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/char/cadence_uart.c
/qemu/hw/char/serial.c
/qemu/hw/char/trace-events
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/core/Makefile.objs
/qemu/hw/core/clock-vmstate.c
/qemu/hw/core/clock.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine-hmp-cmds.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-clock.c
/qemu/hw/core/qdev.c
/qemu/hw/core/trace-events
/qemu/hw/display/ati_2d.c
/qemu/hw/display/bochs-display.c
/qemu/hw/dma/i8257.c
/qemu/hw/dma/xlnx-zdma.c
/qemu/hw/gpio/aspeed_gpio.c
/qemu/hw/i2c/smbus_eeprom.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/x86.c
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/sii3112.c
/qemu/hw/ide/via.c
/qemu/hw/intc/arm_gicv3_kvm.c
/qemu/hw/isa/isa-superio.c
/qemu/hw/isa/smc37c669-superio.c
/qemu/hw/mips/mips_fulong2e.c
/qemu/hw/misc/allwinner-h3-dramc.c
/qemu/hw/misc/zynq_slcr.c
/qemu/hw/net/Makefile.objs
/qemu/hw/net/allwinner-sun8i-emac.c
/qemu/hw/net/allwinner_emac.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/can/can_sja1000.c
/qemu/hw/net/can/can_sja1000.h
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/e1000e_core.h
/qemu/hw/net/ftgmac100.c
/qemu/hw/net/i82596.c
/qemu/hw/net/i82596.h
/qemu/hw/net/imx_fec.c
/qemu/hw/net/msf2-emac.c
/qemu/hw/net/opencores_eth.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/spapr_llan.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/tulip.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/xilinx_ethlite.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_bmc.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_events.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/sifive_e.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/spike.c
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/Makefile.objs
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/ipl.h
/qemu/hw/s390x/pv.c
/qemu/hw/s390x/s390-skeys.c
/qemu/hw/s390x/s390-stattrib-kvm.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/sclp.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/sdhci.c
/qemu/hw/usb/xen-usb.c
/qemu/hw/vfio/spapr.c
/qemu/hw/virtio/Kconfig
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/xen/xen-common.c
/qemu/hw/xen/xen_pt.c
/qemu/include/block/aio-wait.h
/qemu/include/block/aio.h
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/nvme.h
/qemu/include/exec/gdbstub.h
/qemu/include/exec/memory.h
/qemu/include/hw/acpi/acpi.h
/qemu/include/hw/acpi/aml-build.h
/qemu/include/hw/arm/msf2-soc.h
/qemu/include/hw/arm/virt.h
/qemu/include/hw/boards.h
/qemu/include/hw/char/cadence_uart.h
/qemu/include/hw/clock.h
/qemu/include/hw/elf_ops.h
/qemu/include/hw/gpio/nrf51_gpio.h
/qemu/include/hw/i2c/smbus_eeprom.h
/qemu/include/hw/i386/topology.h
/qemu/include/hw/i386/x86.h
/qemu/include/hw/isa/isa.h
/qemu/include/hw/isa/superio.h
/qemu/include/hw/net/msf2-emac.h
/qemu/include/hw/nvram/fw_cfg.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/qdev-clock.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/riscv/boot.h
/qemu/include/hw/riscv/sifive_u.h
/qemu/include/hw/s390x/pv.h
/qemu/include/hw/s390x/s390-virtio-ccw.h
/qemu/include/hw/s390x/sclp.h
/qemu/include/hw/virtio/vhost-user-blk.h
/qemu/include/net/can_emu.h
/qemu/include/net/net.h
/qemu/include/qapi/qmp/qdict.h
/qemu/include/qapi/qmp/qlist.h
/qemu/include/qapi/visitor-impl.h
/qemu/include/qapi/visitor.h
/qemu/include/qemu/atomic.h
/qemu/include/qemu/option.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/selfmap.h
/qemu/include/qemu/thread.h
/qemu/include/qom/object_interfaces.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/vhost_types.h
/qemu/include/standard-headers/linux/virtio_balloon.h
/qemu/include/standard-headers/linux/virtio_ids.h
/qemu/include/standard-headers/linux/virtio_net.h
/qemu/include/sysemu/block-backend.h
/qemu/include/sysemu/device_tree.h
/qemu/io/channel-socket.c
/qemu/job-qmp.c
/qemu/job.c
/qemu/linux-headers/COPYING
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/mman.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-headers/linux/vhost.h
/qemu/linux-user/elfload.c
/qemu/linux-user/flatload.c
/qemu/linux-user/i386/cpu_loop.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/riscv/signal.c
/qemu/linux-user/syscall.c
/qemu/migration/colo.c
/qemu/migration/migration.c
/qemu/migration/ram.c
/qemu/monitor/hmp-cmds.c
/qemu/monitor/qmp.c
/qemu/net/can/can_socketcan.c
/qemu/net/colo-compare.c
/qemu/net/filter-buffer.c
/qemu/net/hub.c
/qemu/pc-bios/README
/qemu/pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin
/qemu/pc-bios/opensbi-riscv32-virt-fw_jump.bin
/qemu/pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
/qemu/pc-bios/opensbi-riscv64-virt-fw_jump.bin
/qemu/pc-bios/slof.bin
/qemu/qapi/qapi-dealloc-visitor.c
/qemu/qapi/qapi-visit-core.c
/qemu/qapi/qmp-dispatch.c
/qemu/qapi/qobject-input-visitor.c
/qemu/qdev-monitor.c
/qemu/qemu-img.c
/qemu/qemu-io-cmds.c
/qemu/qemu-options.hx
/qemu/qemu-storage-daemon.c
/qemu/qga/commands-common.h
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/commands.c
/qemu/qga/qapi-schema.json
/qemu/qobject/json-streamer.c
/qemu/qobject/qdict.c
/qemu/qobject/qjson.c
/qemu/qobject/qlist.c
/qemu/qom/object.c
/qemu/qom/object_interfaces.c
/qemu/qom/qom-qmp-cmds.c
/qemu/roms/SLOF
/qemu/roms/opensbi
/qemu/scripts/checkpatch.pl
/qemu/scripts/coccinelle/error-use-after-free.cocci
/qemu/scripts/coverity-scan/coverity-scan.docker
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/decodetree.py
/qemu/scripts/kernel-doc
/qemu/scripts/qapi/commands.py
/qemu/scripts/qapi/visit.py
/qemu/slirp
/qemu/softmmu/vl.c
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu64.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/neon_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/arm/translate.h
/qemu/target/arm/vec_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/gdbstub.c
/qemu/target/i386/hax-windows.c
/qemu/target/i386/hvf/vmx.h
/qemu/target/i386/kvm.c
/qemu/target/i386/translate.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/op_helper.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/translate.c
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate_init.inc.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_features_def.inc.h
/qemu/target/s390x/diag.c
/qemu/target/s390x/gen-features.c
/qemu/target/s390x/helper.c
/qemu/target/s390x/ioinst.c
/qemu/target/s390x/kvm-stub.c
/qemu/target/s390x/kvm.c
/qemu/target/s390x/kvm_s390x.h
/qemu/target/s390x/mmu_helper.c
/qemu/target/sh4/gdbstub.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/gdbstub.c
/qemu/target/xtensa/helper.c
/qemu/target/xtensa/translate.c
/qemu/tcg/i386/tcg-target.inc.c
/qemu/tcg/mips/tcg-target.inc.c
/qemu/tests/Makefile.include
/qemu/tests/acceptance/boot_linux_console.py
/qemu/tests/acceptance/machine_sparc_leon3.py
/qemu/tests/acceptance/migration.py
/qemu/tests/acceptance/ppc_prep_40p.py
/qemu/tests/check-qlist.c
/qemu/tests/docker/dockerfiles/centos7.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian10.docker
/qemu/tests/docker/dockerfiles/debian9.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/travis.docker
/qemu/tests/docker/dockerfiles/ubuntu.docker
/qemu/tests/docker/dockerfiles/ubuntu1804.docker
/qemu/tests/docker/test-misc
/qemu/tests/qemu-iotests/031.out
/qemu/tests/qemu-iotests/036
/qemu/tests/qemu-iotests/036.out
/qemu/tests/qemu-iotests/046
/qemu/tests/qemu-iotests/046.out
/qemu/tests/qemu-iotests/060
/qemu/tests/qemu-iotests/060.out
/qemu/tests/qemu-iotests/061
/qemu/tests/qemu-iotests/061.out
/qemu/tests/qemu-iotests/138
/qemu/tests/qemu-iotests/138.out
/qemu/tests/qemu-iotests/177
/qemu/tests/qemu-iotests/244
/qemu/tests/qemu-iotests/244.out
/qemu/tests/qemu-iotests/274
/qemu/tests/qemu-iotests/274.out
/qemu/tests/qemu-iotests/290
/qemu/tests/qemu-iotests/290.out
/qemu/tests/qemu-iotests/common.pattern
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qtest/Makefile.include
/qemu/tests/qtest/device-introspect-test.c
/qemu/tests/qtest/fuzz/qos_fuzz.c
/qemu/tests/qtest/libqos/qos_external.c
/qemu/tests/qtest/libqos/qos_external.h
/qemu/tests/qtest/numa-test.c
/qemu/tests/qtest/qom-test.c
/qemu/tests/qtest/qos-test.c
/qemu/tests/qtest/test-hmp.c
/qemu/tests/qtest/tulip-test.c
/qemu/tests/tcg/x86_64/system/boot.S
/qemu/tests/test-block-iothread.c
/qemu/tests/test-blockjob.c
/qemu/tests/test-logging.c
/qemu/tests/test-qemu-opts.c
/qemu/tests/test-qobject-output-visitor.c
/qemu/tests/test-string-output-visitor.c
/qemu/tests/vm/basevm.py
/qemu/tests/vm/fedora
/qemu/tests/vm/freebsd
/qemu/tests/vm/netbsd
/qemu/tests/vm/openbsd
/qemu/tests/vm/ubuntu.i386
virtiofsd/fuse_lowlevel.h
virtiofsd/helper.c
virtiofsd/passthrough_ll.c
/qemu/ui/input-linux.c
/qemu/util/Makefile.objs
/qemu/util/aio-posix.c
/qemu/util/aio-win32.c
/qemu/util/async.c
/qemu/util/bufferiszero.c
/qemu/util/fdmon-io_uring.c
/qemu/util/module.c
/qemu/util/oslib-posix.c
/qemu/util/qemu-option.c
/qemu/util/selfmap.c
e1cd92d921-Mar-2020 Philippe Mathieu-Daudé <philmd@redhat.com>

tools/virtiofsd/passthrough_ll: Fix double close()

On success, the fdopendir() call closes fd. Later on the error
path we try to close an already-closed fd. This can lead to
use-after-free. Fix by o

tools/virtiofsd/passthrough_ll: Fix double close()

On success, the fdopendir() call closes fd. Later on the error
path we try to close an already-closed fd. This can lead to
use-after-free. Fix by only closing the fd if the fdopendir()
call failed.

Cc: qemu-stable@nongnu.org
Fixes: b39bce121b (add dirp_map to hide lo_dirp pointers)
Reported-by: Coverity (CID 1421933 USE_AFTER_FREE)
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200321120654.7985-1-philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...


/qemu/.gitignore
/qemu/.gitlab-ci-opensbi.yml
/qemu/.gitlab-ci.d/opensbi/Dockerfile
/qemu/.gitlab-ci.yml
/qemu/.mailmap
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/Makefile.objs
/qemu/Makefile.target
/qemu/VERSION
/qemu/accel/tcg/tcg-runtime-gvec.c
/qemu/arch_init.c
/qemu/audio/mixeng.c
/qemu/audio/mixeng_template.h
/qemu/block.c
/qemu/block/Makefile.objs
/qemu/block/backup-top.c
/qemu/block/backup.c
/qemu/block/block-copy.c
/qemu/block/crypto.c
/qemu/block/curl.c
/qemu/block/dirty-bitmap.c
/qemu/block/file-posix.c
/qemu/block/io.c
/qemu/block/linux-aio.c
/qemu/block/monitor/Makefile.objs
/qemu/block/monitor/block-hmp-cmds.c
/qemu/block/qapi-sysemu.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-threads.c
/qemu/block/qcow2.c
/qemu/block/rbd.c
/qemu/block/stream.c
/qemu/block/trace-events
/qemu/block/vmdk.c
/qemu/blockdev-nbd.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/bsd-user/qemu.h
/qemu/chardev/char-pipe.c
/qemu/chardev/char-win.c
/qemu/chardev/char.c
/qemu/configure
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/contrib/vhost-user-gpu/Makefile.objs
/qemu/contrib/vhost-user-gpu/vhost-user-gpu.c
/qemu/cpus.c
/qemu/crypto/block.c
/qemu/default-configs/arm-softmmu.mak
/qemu/default-configs/i386-softmmu.mak
/qemu/default-configs/rx-softmmu.mak
/qemu/device_tree.c
/qemu/docs/can.txt
/qemu/docs/conf.py
/qemu/docs/defs.rst.inc
/qemu/docs/devel/atomics.txt
/qemu/docs/devel/kconfig.rst
/qemu/docs/devel/loads-stores.rst
/qemu/docs/devel/multi-thread-tcg.txt
/qemu/docs/devel/qapi-code-gen.txt
/qemu/docs/devel/tcg.rst
/qemu/docs/index.html.in
/qemu/docs/index.rst
/qemu/docs/interop/qemu-ga.rst
/qemu/docs/interop/vhost-user.rst
/qemu/docs/qemu-option-trace.rst.inc
/qemu/docs/replay.txt
/qemu/docs/specs/fw_cfg.txt
/qemu/docs/specs/ivshmem-spec.txt
/qemu/docs/specs/tpm.rst
/qemu/docs/sphinx/hxtool.py
/qemu/docs/system/arm/cpu-features.rst
/qemu/docs/system/arm/integratorcp.rst
/qemu/docs/system/arm/musicpal.rst
/qemu/docs/system/arm/nseries.rst
/qemu/docs/system/arm/orangepi.rst
/qemu/docs/system/arm/palm.rst
/qemu/docs/system/arm/realview.rst
/qemu/docs/system/arm/stellaris.rst
/qemu/docs/system/arm/sx1.rst
/qemu/docs/system/arm/versatile.rst
/qemu/docs/system/arm/xscale.rst
/qemu/docs/system/build-platforms.rst
/qemu/docs/system/conf.py
/qemu/docs/system/cpu-models-mips.rst.inc
/qemu/docs/system/cpu-models-x86.rst.inc
/qemu/docs/system/deprecated.rst
/qemu/docs/system/device-url-syntax.rst.inc
/qemu/docs/system/gdb.rst
/qemu/docs/system/images.rst
/qemu/docs/system/index.rst
/qemu/docs/system/invocation.rst
/qemu/docs/system/ivshmem.rst
/qemu/docs/system/keys.rst
/qemu/docs/system/keys.rst.inc
/qemu/docs/system/license.rst
/qemu/docs/system/linuxboot.rst
/qemu/docs/system/managed-startup.rst
/qemu/docs/system/monitor.rst
/qemu/docs/system/mux-chardev.rst
/qemu/docs/system/mux-chardev.rst.inc
/qemu/docs/system/net.rst
/qemu/docs/system/qemu-block-drivers.rst
/qemu/docs/system/qemu-block-drivers.rst.inc
/qemu/docs/system/qemu-cpu-models.rst
/qemu/docs/system/qemu-manpage.rst
/qemu/docs/system/quickstart.rst
/qemu/docs/system/s390x/vfio-ap.rst
/qemu/docs/system/security.rst
/qemu/docs/system/target-arm.rst
/qemu/docs/system/target-i386-desc.rst.inc
/qemu/docs/system/target-i386.rst
/qemu/docs/system/target-m68k.rst
/qemu/docs/system/target-mips.rst
/qemu/docs/system/target-ppc.rst
/qemu/docs/system/target-s390x.rst
/qemu/docs/system/target-sparc.rst
/qemu/docs/system/target-sparc64.rst
/qemu/docs/system/target-xtensa.rst
/qemu/docs/system/targets.rst
/qemu/docs/system/tls.rst
/qemu/docs/system/usb.rst
/qemu/docs/system/vnc-security.rst
/qemu/docs/user/conf.py
/qemu/docs/user/index.rst
/qemu/docs/user/main.rst
/qemu/docs/xbzrle.txt
/qemu/exec.c
/qemu/fsdev/virtfs-proxy-helper.c
/qemu/gdb-xml/rx-core.xml
/qemu/gdbstub.c
/qemu/hmp-commands-info.hx
/qemu/hmp-commands.hx
/qemu/hw/9pfs/9p-proxy.c
/qemu/hw/acpi/cpu_hotplug.c
/qemu/hw/acpi/ich9.c
/qemu/hw/acpi/nvdimm.c
/qemu/hw/acpi/pcihp.c
/qemu/hw/acpi/piix4.c
/qemu/hw/alpha/alpha_sys.h
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/Makefile.objs
/qemu/hw/arm/allwinner-a10.c
/qemu/hw/arm/allwinner-h3.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/bcm2836.c
/qemu/hw/arm/cubieboard.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx31.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/gumstix.c
/qemu/hw/arm/imx25_pdk.c
/qemu/hw/arm/mainstone.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/nrf51_soc.c
/qemu/hw/arm/omap_sx1.c
/qemu/hw/arm/orangepi.c
/qemu/hw/arm/palm.c
/qemu/hw/arm/pxa2xx.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/spitz.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/stm32f205_soc.c
/qemu/hw/arm/stm32f405_soc.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/sysbus-fdt.c
/qemu/hw/arm/tosa.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/arm/z2.c
/qemu/hw/audio/fmopl.c
/qemu/hw/audio/intel-hda.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/trace-events
/qemu/hw/block/xen-block.c
/qemu/hw/char/sclpconsole-lm.c
/qemu/hw/char/sclpconsole.c
/qemu/hw/char/serial.c
/qemu/hw/core/cpu.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine.c
/qemu/hw/core/platform-bus.c
/qemu/hw/core/qdev.c
/qemu/hw/display/bcm2835_fb.c
/qemu/hw/display/bochs-display.c
/qemu/hw/display/cg3.c
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/g364fb.c
/qemu/hw/display/macfb.c
/qemu/hw/display/pxa2xx_lcd.c
/qemu/hw/display/tcx.c
/qemu/hw/display/vga-pci.c
/qemu/hw/dma/bcm2835_dma.c
/qemu/hw/dma/i8257.c
/qemu/hw/dma/rc4030.c
/qemu/hw/dma/soc_dma.c
/qemu/hw/dma/xlnx-zdma.c
/qemu/hw/hppa/hppa_sys.h
/qemu/hw/hppa/machine.c
/qemu/hw/i2c/smbus_ich9.c
/qemu/hw/i386/Kconfig
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/x86.c
/qemu/hw/ide/ahci_internal.h
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/pci.c
/qemu/hw/ide/piix.c
/qemu/hw/ide/via.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/bcm2835_ic.c
/qemu/hw/intc/bcm2836_control.c
/qemu/hw/intc/spapr_xive.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/piix4.c
/qemu/hw/m68k/bootinfo.h
/qemu/hw/m68k/q800.c
/qemu/hw/mips/mips_fulong2e.c
/qemu/hw/mips/mips_malta.c
/qemu/hw/mips/mips_r4k.c
/qemu/hw/misc/Makefile.objs
/qemu/hw/misc/allwinner-cpucfg.c
/qemu/hw/misc/allwinner-h3-ccu.c
/qemu/hw/misc/allwinner-h3-dramc.c
/qemu/hw/misc/allwinner-h3-sysctrl.c
/qemu/hw/misc/allwinner-sid.c
/qemu/hw/misc/bcm2835_mbox.c
/qemu/hw/misc/bcm2835_property.c
/qemu/hw/misc/edu.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/omap_l4.c
/qemu/hw/misc/trace-events
/qemu/hw/net/Kconfig
/qemu/hw/net/Makefile.objs
/qemu/hw/net/allwinner-sun8i-emac.c
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/imx_fec.c
/qemu/hw/net/trace-events
/qemu/hw/nvram/eeprom93xx.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-bridge/xio3130_downstream.c
/qemu/hw/pci-host/i440fx.c
/qemu/hw/pci-host/prep.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie.c
/qemu/hw/pci/pcie_port.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/ppc405_boards.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_drc.c
/qemu/hw/ppc/spapr_events.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_nvdimm.c
/qemu/hw/ppc/spapr_ovec.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/rdma/rdma_backend.c
/qemu/hw/rdma/rdma_backend.h
/qemu/hw/rdma/rdma_rm.c
/qemu/hw/rdma/vmw/pvrdma_dev_ring.c
/qemu/hw/rdma/vmw/pvrdma_qp_ops.c
/qemu/hw/riscv/sifive_e.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/rtc/Makefile.objs
/qemu/hw/rtc/allwinner-rtc.c
/qemu/hw/rtc/trace-events
/qemu/hw/rtc/twl92230.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/ipl.h
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/spapr_vscsi.c
/qemu/hw/scsi/trace-events
/qemu/hw/scsi/viosrp.h
/qemu/hw/sd/Makefile.objs
/qemu/hw/sd/allwinner-sdhost.c
/qemu/hw/sd/ssi-sd.c
/qemu/hw/sd/trace-events
/qemu/hw/sh4/shix.c
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/ssi/trace-events
/qemu/hw/timer/cadence_ttc.c
/qemu/hw/timer/hpet.c
/qemu/hw/tpm/Kconfig
/qemu/hw/tpm/Makefile.objs
/qemu/hw/tpm/tpm_tis.h
/qemu/hw/tpm/tpm_tis_common.c
/qemu/hw/tpm/tpm_tis_isa.c
/qemu/hw/tpm/tpm_tis_sysbus.c
/qemu/hw/usb/Kconfig
/qemu/hw/usb/Makefile.objs
/qemu/hw/usb/dev-network.c
/qemu/hw/usb/dev-serial.c
/qemu/hw/usb/dev-smartcard-reader.c
/qemu/hw/usb/dev-storage.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ehci.c
/qemu/hw/usb/hcd-ehci.h
/qemu/hw/usb/imx-usb-phy.c
/qemu/hw/usb/quirks.c
/qemu/hw/usb/quirks.h
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen_pt.h
/qemu/include/block/aio.h
/qemu/include/block/block-copy.h
/qemu/include/block/block-hmp-cmds.h
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/dirty-bitmap.h
/qemu/include/block/nbd.h
/qemu/include/crypto/block.h
/qemu/include/disas/dis-asm.h
/qemu/include/exec/gdbstub.h
/qemu/include/exec/poison.h
/qemu/include/hw/acpi/acpi-defs.h
/qemu/include/hw/arm/allwinner-a10.h
/qemu/include/hw/arm/allwinner-h3.h
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/bcm2836.h
/qemu/include/hw/arm/fsl-imx25.h
/qemu/include/hw/arm/fsl-imx6.h
/qemu/include/hw/arm/fsl-imx6ul.h
/qemu/include/hw/arm/smmu-common.h
/qemu/include/hw/arm/virt.h
/qemu/include/hw/arm/xlnx-versal.h
/qemu/include/hw/boards.h
/qemu/include/hw/char/bcm2835_aux.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/display/bcm2835_fb.h
/qemu/include/hw/dma/bcm2835_dma.h
/qemu/include/hw/i386/ich9.h
/qemu/include/hw/i386/intel_iommu.h
/qemu/include/hw/i386/ioapic_internal.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/i386/topology.h
/qemu/include/hw/i386/x86.h
/qemu/include/hw/ide.h
/qemu/include/hw/ide/internal.h
/qemu/include/hw/ide/pci.h
/qemu/include/hw/intc/bcm2835_ic.h
/qemu/include/hw/intc/bcm2836_control.h
/qemu/include/hw/misc/allwinner-cpucfg.h
/qemu/include/hw/misc/allwinner-h3-ccu.h
/qemu/include/hw/misc/allwinner-h3-dramc.h
/qemu/include/hw/misc/allwinner-h3-sysctrl.h
/qemu/include/hw/misc/allwinner-sid.h
/qemu/include/hw/misc/bcm2835_mbox.h
/qemu/include/hw/misc/bcm2835_mbox_defs.h
/qemu/include/hw/misc/bcm2835_property.h
/qemu/include/hw/misc/macio/macio.h
/qemu/include/hw/net/allwinner-sun8i-emac.h
/qemu/include/hw/pci-host/q35.h
/qemu/include/hw/pci/pcie.h
/qemu/include/hw/pci/pcie_port.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_cpu_core.h
/qemu/include/hw/ppc/spapr_ovec.h
/qemu/include/hw/registerfields.h
/qemu/include/hw/rtc/allwinner-rtc.h
/qemu/include/hw/s390x/event-facility.h
/qemu/include/hw/s390x/sclp.h
/qemu/include/hw/sd/allwinner-sdhost.h
/qemu/include/hw/southbridge/piix.h
/qemu/include/hw/usb/imx-usb-phy.h
/qemu/include/hw/virtio/virtio-iommu.h
/qemu/include/monitor/hmp.h
/qemu/include/monitor/monitor.h
/qemu/include/net/net.h
/qemu/include/qapi/qmp/dispatch.h
/qemu/include/qemu-common.h
/qemu/include/qemu/cpuid.h
/qemu/include/qemu/hbitmap.h
/qemu/include/qemu/job.h
/qemu/include/qemu/lockable.h
/qemu/include/qemu/progress_meter.h
/qemu/include/qemu/queue.h
/qemu/include/qom/object.h
/qemu/include/qom/object_interfaces.h
/qemu/include/sysemu/arch_init.h
/qemu/include/sysemu/blockdev.h
/qemu/include/sysemu/cryptodev.h
/qemu/include/sysemu/sysemu.h
/qemu/include/sysemu/tpm.h
/qemu/include/sysemu/whpx.h
/qemu/include/tcg/tcg.h
/qemu/job-qmp.c
/qemu/job.c
/qemu/linux-user/Makefile.objs
/qemu/linux-user/aarch64/syscall_nr.h
/qemu/linux-user/alpha/Makefile.objs
/qemu/linux-user/alpha/syscall.tbl
/qemu/linux-user/alpha/syscallhdr.sh
/qemu/linux-user/arm/Makefile.objs
/qemu/linux-user/arm/syscall.tbl
/qemu/linux-user/arm/syscallhdr.sh
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/Makefile.objs
/qemu/linux-user/hppa/syscall.tbl
/qemu/linux-user/hppa/syscallhdr.sh
/qemu/linux-user/i386/Makefile.objs
/qemu/linux-user/i386/syscall_32.tbl
/qemu/linux-user/i386/syscallhdr.sh
/qemu/linux-user/i386/target_cpu.h
/qemu/linux-user/m68k/Makefile.objs
/qemu/linux-user/m68k/syscall.tbl
/qemu/linux-user/m68k/syscallhdr.sh
/qemu/linux-user/microblaze/Makefile.objs
/qemu/linux-user/microblaze/syscall.tbl
/qemu/linux-user/microblaze/syscallhdr.sh
/qemu/linux-user/mips/Makefile.objs
/qemu/linux-user/mips/cpu_loop.c
/qemu/linux-user/mips/syscall-args-o32.c.inc
/qemu/linux-user/mips/syscall_o32.tbl
/qemu/linux-user/mips/syscallhdr.sh
/qemu/linux-user/mips64/Makefile.objs
/qemu/linux-user/mips64/syscall_n32.tbl
/qemu/linux-user/mips64/syscall_n64.tbl
/qemu/linux-user/mips64/syscallhdr.sh
/qemu/linux-user/mmap.c
/qemu/linux-user/nios2/syscall_nr.h
/qemu/linux-user/openrisc/syscall_nr.h
/qemu/linux-user/ppc/Makefile.objs
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/ppc/syscall.tbl
/qemu/linux-user/ppc/syscallhdr.sh
/qemu/linux-user/riscv/syscall32_nr.h
/qemu/linux-user/riscv/syscall64_nr.h
/qemu/linux-user/riscv/syscall_nr.h
/qemu/linux-user/s390x/Makefile.objs
/qemu/linux-user/s390x/syscall.tbl
/qemu/linux-user/s390x/syscallhdr.sh
/qemu/linux-user/sh4/Makefile.objs
/qemu/linux-user/sh4/syscall.tbl
/qemu/linux-user/sh4/syscallhdr.sh
/qemu/linux-user/sparc/Makefile.objs
/qemu/linux-user/sparc/syscall.tbl
/qemu/linux-user/sparc/syscallhdr.sh
/qemu/linux-user/sparc64/Makefile.objs
/qemu/linux-user/sparc64/syscall.tbl
/qemu/linux-user/sparc64/syscallhdr.sh
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/linux-user/x86_64/Makefile.objs
/qemu/linux-user/x86_64/syscall_64.tbl
/qemu/linux-user/x86_64/syscallhdr.sh
/qemu/linux-user/xtensa/Makefile.objs
/qemu/linux-user/xtensa/syscall.tbl
/qemu/linux-user/xtensa/syscallhdr.sh
/qemu/memory.c
/qemu/migration/colo.c
/qemu/migration/migration.c
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/monitor/Makefile.objs
/qemu/monitor/hmp-cmds.c
/qemu/monitor/hmp.c
/qemu/monitor/misc.c
/qemu/monitor/monitor-internal.h
/qemu/monitor/monitor.c
/qemu/monitor/qmp-cmds-control.c
/qemu/monitor/qmp-cmds.c
/qemu/monitor/qmp.c
/qemu/nbd/server.c
/qemu/net/hub.c
/qemu/net/hub.h
/qemu/net/net.c
/qemu/net/queue.c
/qemu/net/slirp.c
/qemu/pc-bios/README
/qemu/pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin
/qemu/pc-bios/opensbi-riscv32-virt-fw_jump.bin
/qemu/pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
/qemu/pc-bios/opensbi-riscv64-virt-fw_jump.bin
/qemu/pc-bios/optionrom/pvh_main.c
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/bootmap.h
/qemu/pc-bios/s390-ccw/jump2ipl.c
/qemu/pc-bios/s390-ccw/main.c
/qemu/pc-bios/s390-ccw/netmain.c
/qemu/pc-bios/s390-ccw/s390-arch.h
/qemu/pc-bios/s390-ccw/s390-ccw.h
/qemu/pc-bios/s390-ccw/sclp.h
/qemu/pc-bios/slof.bin
/qemu/plugins/core.c
/qemu/plugins/loader.c
/qemu/python/qemu/machine.py
/qemu/python/qemu/qmp.py
/qemu/qapi/Makefile.objs
/qemu/qapi/audio.json
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/char.json
/qemu/qapi/control.json
/qemu/qapi/introspect.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/pragma.json
/qemu/qapi/qapi-schema.json
/qemu/qapi/qmp-dispatch.c
/qemu/qapi/qmp-registry.c
/qemu/qapi/qom.json
/qemu/qapi/transaction.json
/qemu/qemu-img.c
/qemu/qemu-options.hx
/qemu/qemu-storage-daemon.c
/qemu/qemu.nsi
/qemu/qga/channel-win32.c
/qemu/qga/commands-win32.c
/qemu/qga/commands.c
/qemu/qga/installer/qemu-ga.wxs
/qemu/qga/main.c
/qemu/qga/vss-win32/install.cpp
/qemu/qom/Makefile.objs
/qemu/qom/object.c
/qemu/qom/qom-qmp-cmds.c
/qemu/qtest.c
/qemu/roms/Makefile
/qemu/roms/SLOF
/qemu/roms/opensbi
/qemu/rules.mak
/qemu/scripts/coccinelle/cpu-reset.cocci
/qemu/scripts/coccinelle/memory-region-housekeeping.cocci
/qemu/scripts/gensyscalls.sh
/qemu/scripts/git.orderfile
/qemu/scripts/hxtool
/qemu/scripts/hxtool-conv.pl
/qemu/scripts/qapi/commands.py
/qemu/scripts/qapi/common.py
/qemu/scripts/qapi/doc.py
/qemu/scripts/qapi/error.py
/qemu/scripts/qapi/events.py
/qemu/scripts/qapi/expr.py
/qemu/scripts/qapi/gen.py
/qemu/scripts/qapi/introspect.py
/qemu/scripts/qapi/parser.py
/qemu/scripts/qapi/schema.py
/qemu/scripts/qapi/source.py
/qemu/scripts/qapi/types.py
/qemu/scripts/qapi/visit.py
/qemu/scripts/simplebench/bench-example.py
/qemu/scripts/simplebench/bench_block_job.py
/qemu/scripts/simplebench/simplebench.py
/qemu/scripts/texi2pod.pl
/qemu/scripts/update-mips-syscall-args.sh
/qemu/scripts/update-syscalltbl.sh
/qemu/scsi/qemu-pr-helper.c
/qemu/slirp
/qemu/softmmu/vl.c
/qemu/storage-daemon/Makefile.objs
/qemu/storage-daemon/qapi/Makefile.objs
/qemu/storage-daemon/qapi/qapi-schema.json
/qemu/stubs/Makefile.objs
/qemu/stubs/arch_type.c
/qemu/stubs/monitor-core.c
/qemu/stubs/monitor.c
/qemu/target/alpha/cpu-qom.h
/qemu/target/alpha/cpu.h
/qemu/target/alpha/gdbstub.c
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/gdbstub64.c
/qemu/target/arm/helper-a64.c
/qemu/target/arm/helper-a64.h
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/internals.h
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm32.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/kvm_arm.h
/qemu/target/arm/monitor.c
/qemu/target/arm/op_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/cris/cpu-qom.h
/qemu/target/cris/cpu.c
/qemu/target/cris/cpu.h
/qemu/target/cris/gdbstub.c
/qemu/target/hppa/cpu-qom.h
/qemu/target/hppa/cpu.h
/qemu/target/hppa/gdbstub.c
/qemu/target/i386/cpu-qom.h
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/gdbstub.c
/qemu/target/i386/hax-posix.c
/qemu/target/i386/hax-windows.c
/qemu/target/i386/sev.c
/qemu/target/i386/whp-dispatch.h
/qemu/target/i386/whpx-all.c
/qemu/target/lm32/cpu-qom.h
/qemu/target/lm32/cpu.c
/qemu/target/lm32/cpu.h
/qemu/target/lm32/gdbstub.c
/qemu/target/m68k/cpu-qom.h
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/gdbstub.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu-qom.h
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/gdbstub.c
/qemu/target/mips/cpu-qom.h
/qemu/target/mips/cpu.c
/qemu/target/mips/gdbstub.c
/qemu/target/mips/internal.h
/qemu/target/moxie/cpu.c
/qemu/target/moxie/cpu.h
/qemu/target/nios2/cpu.c
/qemu/target/nios2/cpu.h
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/openrisc/gdbstub.c
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/helper.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/mmu-hash64.c
/qemu/target/ppc/timebase_helper.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate_init.inc.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/gdbstub.c
/qemu/target/riscv/op_helper.c
/qemu/target/rx/Makefile.objs
/qemu/target/rx/cpu-param.h
/qemu/target/rx/cpu-qom.h
/qemu/target/rx/cpu.c
/qemu/target/rx/cpu.h
/qemu/target/rx/disas.c
/qemu/target/rx/gdbstub.c
/qemu/target/rx/helper.c
/qemu/target/rx/helper.h
/qemu/target/rx/insns.decode
/qemu/target/rx/op_helper.c
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu-qom.h
/qemu/target/s390x/cpu.c
/qemu/target/s390x/diag.c
/qemu/target/s390x/gdbstub.c
/qemu/target/s390x/internal.h
/qemu/target/s390x/ioinst.c
/qemu/target/sh4/cpu-qom.h
/qemu/target/sh4/cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/gdbstub.c
/qemu/target/sparc/cpu-qom.h
/qemu/target/sparc/cpu.c
/qemu/target/sparc/cpu.h
/qemu/target/sparc/gdbstub.c
/qemu/target/tilegx/cpu.c
/qemu/target/tilegx/cpu.h
/qemu/target/tricore/cpu-qom.h
/qemu/target/tricore/cpu.c
/qemu/target/xtensa/cpu-qom.h
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/gdbstub.c
/qemu/tcg/i386/tcg-target.inc.c
/qemu/tests/.gitignore
/qemu/tests/Makefile.include
/qemu/tests/acceptance/avocado_qemu/__init__.py
/qemu/tests/acceptance/boot_linux.py
/qemu/tests/acceptance/boot_linux_console.py
/qemu/tests/docker/dockerfiles/centos8.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian-win32-cross.docker
/qemu/tests/docker/dockerfiles/debian10.docker
/qemu/tests/docker/dockerfiles/debian9.docker
/qemu/tests/guest-debug/run-test.py
/qemu/tests/qapi-schema/alternate-base.err
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qapi-schema/doc-good.texi
/qemu/tests/qapi-schema/features-deprecated-type.err
/qemu/tests/qapi-schema/features-deprecated-type.json
/qemu/tests/qapi-schema/features-deprecated-type.out
/qemu/tests/qapi-schema/qapi-schema-test.json
/qemu/tests/qapi-schema/qapi-schema-test.out
/qemu/tests/qapi-schema/test-qapi.py
/qemu/tests/qemu-iotests/026
/qemu/tests/qemu-iotests/026.out
/qemu/tests/qemu-iotests/026.out.nocache
/qemu/tests/qemu-iotests/085
/qemu/tests/qemu-iotests/085.out
/qemu/tests/qemu-iotests/087
/qemu/tests/qemu-iotests/155
/qemu/tests/qemu-iotests/155.out
/qemu/tests/qemu-iotests/178
/qemu/tests/qemu-iotests/178.out.qcow2
/qemu/tests/qemu-iotests/178.out.raw
/qemu/tests/qemu-iotests/245
/qemu/tests/qemu-iotests/245.out
/qemu/tests/qemu-iotests/279
/qemu/tests/qemu-iotests/282
/qemu/tests/qemu-iotests/282.out
/qemu/tests/qemu-iotests/288
/qemu/tests/qemu-iotests/288.out
/qemu/tests/qemu-iotests/289
/qemu/tests/qemu-iotests/289.out
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qtest/Makefile.include
/qemu/tests/qtest/fuzz/fork_fuzz.ld
/qemu/tests/qtest/fuzz/qos_fuzz.c
/qemu/tests/qtest/hd-geo-test.c
/qemu/tests/qtest/libqos/ahci.h
/qemu/tests/qtest/libqos/libqos-spapr.h
/qemu/tests/qtest/machine-none-test.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/tpm-crb-swtpm-test.c
/qemu/tests/qtest/tpm-crb-test.c
/qemu/tests/qtest/tpm-tests.c
/qemu/tests/qtest/tpm-tests.h
/qemu/tests/qtest/tpm-tis-device-swtpm-test.c
/qemu/tests/qtest/tpm-tis-device-test.c
/qemu/tests/qtest/tpm-tis-swtpm-test.c
/qemu/tests/qtest/tpm-tis-test.c
/qemu/tests/qtest/tpm-tis-util.c
/qemu/tests/qtest/tpm-tis-util.h
/qemu/tests/qtest/tpm-util.c
/qemu/tests/qtest/tpm-util.h
/qemu/tests/requirements.txt
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
/qemu/tests/tcg/aarch64/gdbstub/test-sve.py
/qemu/tests/tcg/aarch64/pauth-1.c
/qemu/tests/tcg/aarch64/sve-ioctls.c
/qemu/tests/tcg/aarch64/sysregs.c
/qemu/tests/test-hbitmap.c
/qemu/tests/test-qmp-cmds.c
/qemu/tests/test-qmp-event.c
/qemu/tests/test-rcu-list.c
/qemu/tests/test-util-sockets.c
/qemu/tests/test-x86-cpuid.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/basevm.py
/qemu/tests/vm/centos
/qemu/tests/vm/ubuntu.i386
virtiofsd/passthrough_ll.c
/qemu/ui/cocoa.m
/qemu/ui/console.c
/qemu/ui/curses.c
/qemu/util/Makefile.objs
/qemu/util/aio-posix.c
/qemu/util/aio-posix.h
/qemu/util/bufferiszero.c
/qemu/util/fdmon-epoll.c
/qemu/util/fdmon-io_uring.c
/qemu/util/fdmon-poll.c
/qemu/util/hbitmap.c
/qemu/util/module.c
/qemu/util/osdep.c
/qemu/util/oslib-posix.c
/qemu/util/qemu-timer.c
/qemu/util/trace-events
bdfd667827-Feb-2020 Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>

virtiofsd: Fix xattr operations

Current virtiofsd has problems about xattr operations and
they does not work properly for directory/symlink/special file.

The fundamental cause is that virtiofsd use

virtiofsd: Fix xattr operations

Current virtiofsd has problems about xattr operations and
they does not work properly for directory/symlink/special file.

The fundamental cause is that virtiofsd uses openat() + f...xattr()
systemcalls for xattr operation but we should not open symlink/special
file in the daemon. Therefore the function is restricted.

Fix this problem by:
1. during setup of each thread, call unshare(CLONE_FS)
2. in xattr operations (i.e. lo_getxattr), if inode is not a regular
file or directory, use fchdir(proc_loot_fd) + ...xattr() +
fchdir(root.fd) instead of openat() + f...xattr()

(Note: for a regular file/directory openat() + f...xattr()
is still used for performance reason)

With this patch, xfstests generic/062 passes on virtiofs.

This fix is suggested by Miklos Szeredi and Stefan Hajnoczi.
The original discussion can be found here:
https://www.redhat.com/archives/virtio-fs/2019-October/msg00046.html

Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Message-Id: <20200227055927.24566-3-misono.tomohiro@jp.fujitsu.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

16e15a7327-Feb-2020 Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>

virtiofsd: passthrough_ll: cleanup getxattr/listxattr

This is a cleanup patch to simplify the following xattr fix and
there is no functional changes.

- Move memory allocation to head of the functio

virtiofsd: passthrough_ll: cleanup getxattr/listxattr

This is a cleanup patch to simplify the following xattr fix and
there is no functional changes.

- Move memory allocation to head of the function
- Unify fgetxattr/flistxattr call for both size == 0 and
size != 0 case
- Remove redundant lo_inode_put call in error path
(Note: second call is ignored now since @inode is already NULL)

Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Message-Id: <20200227055927.24566-2-misono.tomohiro@jp.fujitsu.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...


/qemu/.gitlab-ci.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/Makefile.objs
/qemu/Makefile.target
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/translate-all.c
/qemu/backends/hostmem-file.c
/qemu/backends/hostmem-memfd.c
/qemu/backends/hostmem-ram.c
/qemu/backends/hostmem.c
/qemu/block.c
/qemu/block/backup-top.c
/qemu/block/file-posix.c
/qemu/block/iscsi.c
/qemu/block/nbd.c
/qemu/block/qapi.c
/qemu/block/qcow2.c
/qemu/block/replication.c
/qemu/blockdev.c
/qemu/chardev/spice.c
/qemu/configure
/qemu/contrib/libvhost-user/libvhost-user-glib.c
/qemu/contrib/libvhost-user/libvhost-user-glib.h
/qemu/contrib/libvhost-user/libvhost-user.c
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/contrib/vhost-user-input/main.c
/qemu/default-configs/ppc64-softmmu.mak
/qemu/dma-helpers.c
/qemu/docs/COLO-FT.txt
/qemu/docs/block-replication.txt
/qemu/docs/devel/fuzzing.txt
/qemu/docs/devel/index.rst
/qemu/docs/devel/s390-dasd-ipl.rst
/qemu/docs/devel/tcg-plugins.rst
/qemu/docs/index.html.in
/qemu/docs/index.rst
/qemu/docs/interop/conf.py
/qemu/docs/interop/index.rst
/qemu/docs/interop/qcow2.txt
/qemu/docs/interop/vhost-user.rst
/qemu/docs/qemu-option-trace.rst.inc
/qemu/docs/specs/acpi_cpu_hotplug.txt
/qemu/docs/system/index.rst
/qemu/docs/system/vfio-ap.rst
/qemu/docs/tools/conf.py
/qemu/docs/tools/index.rst
/qemu/docs/tools/qemu-img.rst
/qemu/docs/tools/qemu-nbd.rst
/qemu/docs/tools/qemu-trace-stap.rst
/qemu/docs/tools/virtfs-proxy-helper.rst
/qemu/docs/tools/virtiofsd.rst
/qemu/exec.c
/qemu/hw/acpi/nvdimm.c
/qemu/hw/alpha/alpha_sys.h
/qemu/hw/alpha/dp264.c
/qemu/hw/alpha/typhoon.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/allwinner-a10.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/boot.c
/qemu/hw/arm/collie.c
/qemu/hw/arm/cubieboard.c
/qemu/hw/arm/digic_boards.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/imx25_pdk.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/kzm.c
/qemu/hw/arm/mainstone.c
/qemu/hw/arm/mcimx6ul-evk.c
/qemu/hw/arm/mcimx7d-sabre.c
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/mps2.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/omap_sx1.c
/qemu/hw/arm/palm.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/sabrelite.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zcu102.c
/qemu/hw/arm/z2.c
/qemu/hw/block/dataplane/xen-block.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/core/machine.c
/qemu/hw/core/null-machine.c
/qemu/hw/core/numa.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cpu/arm11mpcore.c
/qemu/hw/cris/axis_dev88.c
/qemu/hw/display/edid-generate.c
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/milkymist-tmu2.c
/qemu/hw/display/omap_dss.c
/qemu/hw/display/omap_lcdc.c
/qemu/hw/display/qxl.c
/qemu/hw/display/ramfb.c
/qemu/hw/dma/etraxfs_dma.c
/qemu/hw/dma/rc4030.c
/qemu/hw/dma/xlnx-zdma.c
/qemu/hw/hppa/machine.c
/qemu/hw/i386/microvm.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/core.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/pci.c
/qemu/hw/intc/arm_gic.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gic_kvm.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/lm32/lm32_boards.c
/qemu/hw/lm32/milkymist.c
/qemu/hw/m68k/an5206.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/m68k/next-cube.c
/qemu/hw/m68k/q800.c
/qemu/hw/mem/Kconfig
/qemu/hw/mem/nvdimm.c
/qemu/hw/microblaze/petalogix_ml605_mmu.c
/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/qemu/hw/mips/boston.c
/qemu/hw/mips/mips_fulong2e.c
/qemu/hw/mips/mips_int.c
/qemu/hw/mips/mips_jazz.c
/qemu/hw/mips/mips_malta.c
/qemu/hw/mips/mips_mipssim.c
/qemu/hw/mips/mips_r4k.c
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/aspeed_sdmc.c
/qemu/hw/misc/iotkit-secctl.c
/qemu/hw/misc/pc-testdev.c
/qemu/hw/moxie/moxiesim.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/i82596.c
/qemu/hw/net/lasi_i82596.c
/qemu/hw/net/net_rx_pkt.c
/qemu/hw/net/net_rx_pkt.h
/qemu/hw/net/trace-events
/qemu/hw/nios2/10m50_devboard.c
/qemu/hw/nvram/spapr_nvram.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-host/pnv_phb3_msi.c
/qemu/hw/pci-host/pnv_phb3_pbcq.c
/qemu/hw/pci-host/pnv_phb4_pec.c
/qemu/hw/ppc/Kconfig
/qemu/hw/ppc/Makefile.objs
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/e500plat.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/mpc8544ds.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/ppc405_boards.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_drc.c
/qemu/hw/ppc/spapr_events.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_nvdimm.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/riscv/sifive_clint.c
/qemu/hw/riscv/sifive_e.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/spike.c
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sh4/sh_pci.c
/qemu/hw/sh4/shix.c
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/niagara.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/unicore32/puv3.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-ohci.h
/qemu/hw/virtio/Kconfig
/qemu/hw/virtio/Makefile.objs
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-iommu-pci.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-pmem.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen-bus.c
/qemu/hw/xen/xen_pt_graphics.c
/qemu/hw/xen/xen_pt_load_rom.c
/qemu/include/block/aio.h
/qemu/include/block/block.h
/qemu/include/block/qapi.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/memory.h
/qemu/include/hw/arm/allwinner-a10.h
/qemu/include/hw/arm/virt.h
/qemu/include/hw/boards.h
/qemu/include/hw/ide/internal.h
/qemu/include/hw/intc/arm_gic.h
/qemu/include/hw/intc/arm_gic_common.h
/qemu/include/hw/mem/nvdimm.h
/qemu/include/hw/misc/aspeed_sdmc.h
/qemu/include/hw/nmi.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/ppc/ppc4xx.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_drc.h
/qemu/include/hw/ppc/spapr_nvdimm.h
/qemu/include/hw/qdev-properties.h
/qemu/include/hw/riscv/sifive_clint.h
/qemu/include/hw/virtio/vhost-user-blk.h
/qemu/include/hw/virtio/vhost-user-fs.h
/qemu/include/hw/virtio/virtio-iommu.h
/qemu/include/hw/xen/xen-bus.h
/qemu/include/net/filter.h
/qemu/include/qemu/bitops.h
/qemu/include/qemu/compiler.h
/qemu/include/qemu/module.h
/qemu/include/qemu/nvdimm-utils.h
/qemu/include/qemu/queue.h
/qemu/include/qemu/rcu_queue.h
/qemu/include/standard-headers/drm/drm_fourcc.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/input.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/sysemu/hostmem.h
/qemu/include/sysemu/numa.h
/qemu/include/sysemu/qtest.h
/qemu/include/sysemu/sysemu.h
/qemu/linux-headers/asm-arm/unistd-common.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/unistd.h
/qemu/linux-headers/asm-generic/mman-common.h
/qemu/linux-headers/asm-generic/unistd.h
/qemu/linux-headers/asm-mips/unistd_n32.h
/qemu/linux-headers/asm-mips/unistd_n64.h
/qemu/linux-headers/asm-mips/unistd_o32.h
/qemu/linux-headers/asm-powerpc/unistd_32.h
/qemu/linux-headers/asm-powerpc/unistd_64.h
/qemu/linux-headers/asm-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-user/arm/signal.c
/qemu/linux-user/elfload.c
/qemu/memory.c
/qemu/migration/Makefile.objs
/qemu/migration/block.c
/qemu/migration/colo.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/ram.c
/qemu/migration/savevm.c
/qemu/migration/vmstate.c
/qemu/monitor/hmp-cmds.c
/qemu/nbd/server.c
/qemu/net/filter.c
/qemu/plugins/core.c
/qemu/qapi/block-core.json
/qemu/qapi/migration.json
/qemu/qdev-monitor.c
/qemu/qemu-deprecated.texi
/qemu/qemu-img-cmds.hx
/qemu/qemu-img.c
/qemu/qemu-options.hx
/qemu/qtest.c
/qemu/scripts/checkpatch.pl
/qemu/scripts/coccinelle/exec_rw_const.cocci
/qemu/scripts/get_maintainer.pl
/qemu/scripts/git.orderfile
/qemu/softmmu/Makefile.objs
/qemu/softmmu/main.c
/qemu/softmmu/vl.c
/qemu/target/arm/arch_dump.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/debug_helper.c
/qemu/target/arm/helper-sve.h
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/internals.h
/qemu/target/arm/kvm32.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/m_helper.c
/qemu/target/arm/machine.c
/qemu/target/arm/neon_helper.c
/qemu/target/arm/pauth_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate-vfp.inc.c
/qemu/target/arm/translate.c
/qemu/target/arm/translate.h
/qemu/target/arm/vec_helper.c
/qemu/target/arm/vfp-uncond.decode
/qemu/target/arm/vfp.decode
/qemu/target/arm/vfp_helper.c
/qemu/target/i386/fpu_helper.c
/qemu/target/i386/hax-all.c
/qemu/target/i386/hvf/vmx.h
/qemu/target/i386/hvf/x86_mmu.c
/qemu/target/i386/whpx-all.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/fpu_helper.c
/qemu/target/ppc/translate/fp-impl.inc.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_bits.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/gdbstub.c
/qemu/target/riscv/insn32.decode
/qemu/target/riscv/insn_trans/trans_privileged.inc.c
/qemu/target/riscv/instmap.h
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/translate.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/excp_helper.c
/qemu/target/s390x/helper.c
/qemu/target/s390x/kvm-stub.c
/qemu/target/s390x/kvm.c
/qemu/target/s390x/kvm_s390x.h
/qemu/target/s390x/mmu_helper.c
/qemu/target/s390x/translate.c
/qemu/tcg/arm/tcg-target.inc.c
/qemu/tcg/tcg-op.c
/qemu/tests/Makefile.include
/qemu/tests/acceptance/machine_arm_integratorcp.py
/qemu/tests/acceptance/machine_arm_n8x0.py
/qemu/tests/acceptance/machine_mips_malta.py
/qemu/tests/data/acpi/rebuild-expected-aml.sh
/qemu/tests/docker/dockerfiles/centos7.docker
/qemu/tests/docker/dockerfiles/fedora-i386-cross.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/ubuntu.docker
/qemu/tests/docker/dockerfiles/ubuntu1804.docker
/qemu/tests/plugin/bb.c
/qemu/tests/plugin/howvec.c
/qemu/tests/plugin/insn.c
/qemu/tests/qemu-iotests/122
/qemu/tests/qemu-iotests/122.out
/qemu/tests/qemu-iotests/139
/qemu/tests/qemu-iotests/147
/qemu/tests/qemu-iotests/214
/qemu/tests/qemu-iotests/259
/qemu/tests/qemu-iotests/259.out
/qemu/tests/qemu-iotests/279
/qemu/tests/qemu-iotests/284
/qemu/tests/qemu-iotests/284.out
/qemu/tests/qemu-iotests/286
/qemu/tests/qemu-iotests/286.out
/qemu/tests/qemu-iotests/group
/qemu/tests/qtest/Makefile.include
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/fuzz/Makefile.include
/qemu/tests/qtest/fuzz/fork_fuzz.c
/qemu/tests/qtest/fuzz/fork_fuzz.h
/qemu/tests/qtest/fuzz/fork_fuzz.ld
/qemu/tests/qtest/fuzz/fuzz.c
/qemu/tests/qtest/fuzz/fuzz.h
/qemu/tests/qtest/fuzz/i440fx_fuzz.c
/qemu/tests/qtest/fuzz/qos_fuzz.c
/qemu/tests/qtest/fuzz/qos_fuzz.h
/qemu/tests/qtest/fuzz/virtio_net_fuzz.c
/qemu/tests/qtest/fuzz/virtio_scsi_fuzz.c
/qemu/tests/qtest/libqos/i2c.c
/qemu/tests/qtest/libqos/i2c.h
/qemu/tests/qtest/libqos/qos_external.c
/qemu/tests/qtest/libqos/qos_external.h
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/numa-test.c
/qemu/tests/qtest/pca9552-test.c
/qemu/tests/qtest/qos-test.c
/qemu/tests/rcutorture.c
/qemu/tests/tcg/Makefile.target
/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/qemu/tests/tcg/aarch64/pauth-4.c
/qemu/tests/tcg/configure.sh
/qemu/tests/test-aio.c
/qemu/tests/test-rcu-list.c
/qemu/tests/test-rcu-slist.c
/qemu/tests/test-replication.c
/qemu/tests/test-vmstate.c
/qemu/tests/vm/fedora
/qemu/tests/vm/freebsd
/qemu/tests/vm/netbsd
/qemu/tests/vm/openbsd
virtiofsd/passthrough_ll.c
/qemu/trace/control.c
/qemu/util/Makefile.objs
/qemu/util/aio-posix.c
/qemu/util/async.c
/qemu/util/module.c
/qemu/util/nvdimm-utils.c
/qemu/util/oslib-posix.c
285eb7a721-Feb-2020 Xiao Yang <yangx.jy@cn.fujitsu.com>

virtiofsd: Remove fuse.h and struct fuse_module

All code in fuse.h and struct fuse_module are not used by virtiofsd
so removing them is safe.

Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Revi

virtiofsd: Remove fuse.h and struct fuse_module

All code in fuse.h and struct fuse_module are not used by virtiofsd
so removing them is safe.

Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

09c086b217-Feb-2020 Philippe Mathieu-Daudé <philmd@redhat.com>

tools/virtiofsd/fuse_lowlevel: Fix fuse_out_header::error value

Fix warning reported by Clang static code analyzer:

CC tools/virtiofsd/fuse_lowlevel.o
tools/virtiofsd/fuse_lowlevel.c:195

tools/virtiofsd/fuse_lowlevel: Fix fuse_out_header::error value

Fix warning reported by Clang static code analyzer:

CC tools/virtiofsd/fuse_lowlevel.o
tools/virtiofsd/fuse_lowlevel.c:195:9: warning: Value stored to 'error' is never read
error = -ERANGE;
^ ~~~~~~~

Fixes: 3db2876
Reported-by: Clang Static Analyzer
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

4e1fb9e717-Feb-2020 Philippe Mathieu-Daudé <philmd@redhat.com>

tools/virtiofsd/passthrough_ll: Remove unneeded variable assignment

Fix warning reported by Clang static code analyzer:

CC tools/virtiofsd/passthrough_ll.o
tools/virtiofsd/passthrough_ll

tools/virtiofsd/passthrough_ll: Remove unneeded variable assignment

Fix warning reported by Clang static code analyzer:

CC tools/virtiofsd/passthrough_ll.o
tools/virtiofsd/passthrough_ll.c:925:9: warning: Value stored to 'newfd' is never read
newfd = -1;
^ ~~
tools/virtiofsd/passthrough_ll.c:942:9: warning: Value stored to 'newfd' is never read
newfd = -1;
^ ~~

Fixes: 7c6b66027
Reported-by: Clang Static Analyzer
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

d4db6f5417-Feb-2020 Philippe Mathieu-Daudé <philmd@redhat.com>

tools/virtiofsd/passthrough_ll: Remove unneeded variable assignment

Fix warning reported by Clang static code analyzer:

CC tools/virtiofsd/passthrough_ll.o
tools/virtiofsd/passthrough_ll

tools/virtiofsd/passthrough_ll: Remove unneeded variable assignment

Fix warning reported by Clang static code analyzer:

CC tools/virtiofsd/passthrough_ll.o
tools/virtiofsd/passthrough_ll.c:1083:5: warning: Value stored to 'saverr' is never read
saverr = ENOMEM;
^ ~~~~~~

Fixes: 7c6b66027
Reported-by: Clang Static Analyzer
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

82c1474e27-Jan-2020 Dr. David Alan Gilbert <dgilbert@redhat.com>

virtiofsd: Help message fix for 'seconds'

second should be seconds.

Reported-by: Christophe de Dinechin <dinechin@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/audio/alsaaudio.c
/qemu/block.c
/qemu/block/blkverify.c
/qemu/block/commit.c
/qemu/block/copy-on-read.c
/qemu/block/filter-compress.c
/qemu/block/io.c
/qemu/block/io_uring.c
/qemu/block/mirror.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2-threads.c
/qemu/block/qcow2.c
/qemu/block/quorum.c
/qemu/block/replication.c
/qemu/block/throttle.c
/qemu/block/vvfat.c
/qemu/blockdev.c
/qemu/bsd-user/syscall.c
/qemu/configure
/qemu/contrib/rdmacm-mux/main.c
/qemu/docs/conf.py
/qemu/docs/interop/conf.py
/qemu/docs/interop/index.rst
/qemu/docs/interop/virtiofsd.rst
/qemu/exec.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/aspeed_soc.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/char/exynos4210_uart.c
/qemu/hw/core/machine.c
/qemu/hw/display/artist.c
/qemu/hw/display/qxl.c
/qemu/hw/display/qxl.h
/qemu/hw/hppa/dino.c
/qemu/hw/m68k/next-cube.c
/qemu/hw/misc/imx2_wdt.c
/qemu/hw/net/rocker/rocker.c
/qemu/hw/nios2/boot.c
/qemu/hw/riscv/Kconfig
/qemu/hw/riscv/virt.c
/qemu/hw/rtc/Kconfig
/qemu/hw/rtc/Makefile.objs
/qemu/hw/rtc/goldfish_rtc.c
/qemu/hw/rtc/trace-events
/qemu/hw/scsi/esp.c
/qemu/hw/usb/dev-uas.c
/qemu/hw/usb/host-libusb.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/display.c
/qemu/hw/xtensa/xtfpga.c
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/exec/helper-gen.h
/qemu/include/exec/helper-head.h
/qemu/include/exec/helper-proto.h
/qemu/include/exec/helper-tcg.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/fsl-imx6.h
/qemu/include/hw/riscv/virt.h
/qemu/include/hw/rtc/goldfish_rtc.h
/qemu/include/monitor/monitor.h
/qemu/include/qemu/log.h
/qemu/include/qemu/seqlock.h
/qemu/include/qemu/timer.h
/qemu/include/sysemu/sysemu.h
/qemu/include/tcg/tcg-op-gvec.h
/qemu/linux-user/alpha/syscall_nr.h
/qemu/linux-user/arm/cpu_loop.c
/qemu/linux-user/arm/syscall_nr.h
/qemu/linux-user/exit.c
/qemu/linux-user/fd-trans.c
/qemu/linux-user/hppa/target_signal.h
/qemu/linux-user/ioctls.h
/qemu/linux-user/m68k/syscall_nr.h
/qemu/linux-user/main.c
/qemu/linux-user/microblaze/syscall_nr.h
/qemu/linux-user/mips/cpu_loop.c
/qemu/linux-user/mips/syscall_nr.h
/qemu/linux-user/mips64/syscall_nr.h
/qemu/linux-user/qemu.h
/qemu/linux-user/sh4/syscall_nr.h
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/strace.list
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/linux-user/syscall_types.h
/qemu/linux-user/trace-events
/qemu/linux-user/vm86.c
/qemu/linux-user/x86_64/syscall_nr.h
/qemu/linux-user/xtensa/syscall_nr.h
/qemu/migration/migration.c
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/migration/savevm.h
/qemu/monitor/Makefile.objs
/qemu/monitor/hmp-cmds.c
/qemu/monitor/misc.c
/qemu/monitor/monitor-internal.h
/qemu/monitor/monitor.c
/qemu/monitor/qmp-cmds-control.c
/qemu/monitor/qmp-cmds.c
/qemu/monitor/qmp.c
/qemu/qapi/Makefile.objs
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/char.json
/qemu/qapi/control.json
/qemu/qapi/dump.json
/qemu/qapi/introspect.json
/qemu/qapi/job.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc-target.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/qapi-schema.json
/qemu/qapi/qdev.json
/qemu/qapi/qom.json
/qemu/qapi/rocker.json
/qemu/qapi/run-state.json
/qemu/qapi/sockets.json
/qemu/qapi/tpm.json
/qemu/qapi/trace.json
/qemu/qapi/transaction.json
/qemu/qapi/ui.json
/qemu/qemu-deprecated.texi
/qemu/qemu-doc.texi
/qemu/qga/qapi-schema.json
/qemu/scripts/checkpatch.pl
/qemu/scripts/git-submodule.sh
/qemu/scripts/minikconf.py
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/helper-a64.c
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/kvm64.c
/qemu/target/arm/op_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/kvm.c
/qemu/target/i386/misc_helper.c
/qemu/target/i386/whpx-all.c
/qemu/target/riscv/gdbstub.c
/qemu/tcg/tcg-op-gvec.c
/qemu/tests/check-block.sh
/qemu/tests/data/acpi/virt/DSDT
/qemu/tests/data/acpi/virt/DSDT.memhp
/qemu/tests/data/acpi/virt/DSDT.numamem
/qemu/tests/qemu-iotests/040
/qemu/tests/qemu-iotests/040.out
/qemu/tests/qemu-iotests/041
/qemu/tests/qemu-iotests/041.out
/qemu/tests/qemu-iotests/155
/qemu/tests/qemu-iotests/244
/qemu/tests/qemu-iotests/244.out
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qtest/libqos/qgraph.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/qmp-test.c
virtiofsd/helper.c
/qemu/ui/cocoa.m
/qemu/ui/gtk.c
/qemu/ui/input-barrier.c
/qemu/ui/sdl2.c
/qemu/util/log.c
/qemu/util/qemu-timer-common.c
/qemu/util/vfio-helpers.c
/qemu/vl.c
99ce9a7e03-Feb-2020 Dr. David Alan Gilbert <dgilbert@redhat.com>

virtiofsd: do_read missing NULL check

Missing a NULL check if the argument fetch fails.

Fixes: Coverity CID 1413119
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe

virtiofsd: do_read missing NULL check

Missing a NULL check if the argument fetch fails.

Fixes: Coverity CID 1413119
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

6863911103-Feb-2020 Dr. David Alan Gilbert <dgilbert@redhat.com>

virtiofsd: load_capng missing unlock

Missing unlock in error path.

Fixes: Covertiy CID 1413123
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philm

virtiofsd: load_capng missing unlock

Missing unlock in error path.

Fixes: Covertiy CID 1413123
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

6fa2490231-Jan-2020 Dr. David Alan Gilbert <dgilbert@redhat.com>

virtiofsd: fv_create_listen_socket error path socket leak

If we fail when bringing up the socket we can leak the listen_fd;
in practice the daemon will exit so it's not really a problem.

Fixes: Cov

virtiofsd: fv_create_listen_socket error path socket leak

If we fail when bringing up the socket we can leak the listen_fd;
in practice the daemon will exit so it's not really a problem.

Fixes: Coverity CID 1413121
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

988717b431-Jan-2020 Dr. David Alan Gilbert <dgilbert@redhat.com>

virtiofsd: Remove fuse_req_getgroups

Remove fuse_req_getgroups that's unused in virtiofsd; it came in
from libfuse but we don't actually use it. It was called from
fuse_getgroups which we previousl

virtiofsd: Remove fuse_req_getgroups

Remove fuse_req_getgroups that's unused in virtiofsd; it came in
from libfuse but we don't actually use it. It was called from
fuse_getgroups which we previously removed (but had left it's header
in).

Coverity had complained about null termination in it, but removing
it is the easiest answer.

Fixes: Coverity CID: 1413117 (String not null terminated)
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/qemu/.gitlab-ci.yml
/qemu/.gitmodules
/qemu/.mailmap
/qemu/.readthedocs.yml
/qemu/.shippable.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/Makefile.objs
/qemu/accel/accel.c
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/tcg-all.c
/qemu/audio/alsaaudio.c
/qemu/audio/audio.c
/qemu/audio/audio_int.h
/qemu/audio/audio_template.h
/qemu/audio/coreaudio.c
/qemu/audio/dsound_template.h
/qemu/audio/dsoundaudio.c
/qemu/audio/mixeng.c
/qemu/audio/mixeng.h
/qemu/audio/noaudio.c
/qemu/audio/ossaudio.c
/qemu/audio/paaudio.c
/qemu/audio/sdlaudio.c
/qemu/audio/wavaudio.c
/qemu/authz/listfile.c
/qemu/block.c
/qemu/block/Makefile.objs
/qemu/block/backup-top.c
/qemu/block/backup.c
/qemu/block/file-posix.c
/qemu/block/io.c
/qemu/block/io_uring.c
/qemu/block/iscsi.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2-snapshot.c
/qemu/block/qcow2.c
/qemu/block/trace-events
/qemu/blockdev-nbd.c
/qemu/blockdev.c
/qemu/configure
/qemu/cpus.c
/qemu/disas/mips.c
/qemu/docs/arm-cpu-features.rst
/qemu/docs/conf.py
/qemu/docs/devel/index.rst
/qemu/docs/devel/reset.rst
/qemu/docs/devel/stable-process.rst
/qemu/docs/devel/testing.rst
/qemu/docs/devel/tracing.txt
/qemu/docs/index.html.in
/qemu/docs/index.rst
/qemu/docs/interop/conf.py
/qemu/docs/interop/firmware.json
/qemu/docs/interop/index.rst
/qemu/docs/interop/qemu-img.rst
/qemu/docs/interop/qemu-nbd.rst
/qemu/docs/interop/qemu-option-trace.rst.inc
/qemu/docs/interop/qemu-trace-stap.rst
/qemu/docs/interop/virtfs-proxy-helper.rst
/qemu/docs/specs/index.rst
/qemu/docs/specs/pvpanic.txt
/qemu/docs/specs/tpm.rst
/qemu/docs/sphinx/hxtool.py
/qemu/docs/system/conf.py
/qemu/docs/system/index.rst
/qemu/docs/system/qemu-block-drivers.rst
/qemu/hw/9pfs/9p-synth.c
/qemu/hw/9pfs/9p-synth.h
/qemu/hw/9pfs/9p.c
/qemu/hw/9pfs/9p.h
/qemu/hw/9pfs/virtio-9p-device.c
/qemu/hw/acpi/generic_event_device.c
/qemu/hw/acpi/piix4.c
/qemu/hw/acpi/vmgenid.c
/qemu/hw/adc/Makefile.objs
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/armsse.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/aspeed_soc.c
/qemu/hw/arm/bcm2836.c
/qemu/hw/arm/boot.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/nrf51_soc.c
/qemu/hw/arm/pxa2xx.c
/qemu/hw/arm/pxa2xx_gpio.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/spitz.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/stm32f205_soc.c
/qemu/hw/arm/stm32f405_soc.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/audio/ac97.c
/qemu/hw/audio/adlib.c
/qemu/hw/audio/cs4231.c
/qemu/hw/audio/cs4231a.c
/qemu/hw/audio/es1370.c
/qemu/hw/audio/gus.c
/qemu/hw/audio/hda-codec.c
/qemu/hw/audio/intel-hda.c
/qemu/hw/audio/milkymist-ac97.c
/qemu/hw/audio/pcspk.c
/qemu/hw/audio/pl041.c
/qemu/hw/audio/sb16.c
/qemu/hw/audio/wm8750.c
/qemu/hw/block/Makefile.objs
/qemu/hw/block/fdc.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/nand.c
/qemu/hw/block/nvme.c
/qemu/hw/block/onenand.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/swim.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/char/Makefile.objs
/qemu/hw/char/bcm2835_aux.c
/qemu/hw/char/cadence_uart.c
/qemu/hw/char/cmsdk-apb-uart.c
/qemu/hw/char/debugcon.c
/qemu/hw/char/digic-uart.c
/qemu/hw/char/escc.c
/qemu/hw/char/etraxfs_ser.c
/qemu/hw/char/exynos4210_uart.c
/qemu/hw/char/grlib_apbuart.c
/qemu/hw/char/imx_serial.c
/qemu/hw/char/ipoctal232.c
/qemu/hw/char/lm32_juart.c
/qemu/hw/char/lm32_uart.c
/qemu/hw/char/mcf_uart.c
/qemu/hw/char/milkymist-uart.c
/qemu/hw/char/nrf51_uart.c
/qemu/hw/char/parallel.c
/qemu/hw/char/pl011.c
/qemu/hw/char/sclpconsole-lm.c
/qemu/hw/char/sclpconsole.c
/qemu/hw/char/serial-isa.c
/qemu/hw/char/serial-pci-multi.c
/qemu/hw/char/serial-pci.c
/qemu/hw/char/serial.c
/qemu/hw/char/spapr_vty.c
/qemu/hw/char/stm32f2xx_usart.c
/qemu/hw/char/terminal3270.c
/qemu/hw/char/trace-events
/qemu/hw/char/virtio-console.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/char/xilinx_uartlite.c
/qemu/hw/core/Makefile.objs
/qemu/hw/core/bus.c
/qemu/hw/core/cpu.c
/qemu/hw/core/generic-loader.c
/qemu/hw/core/loader.c
/qemu/hw/core/or-irq.c
/qemu/hw/core/platform-bus.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/core/qdev.c
/qemu/hw/core/resettable.c
/qemu/hw/core/split-irq.c
/qemu/hw/core/trace-events
/qemu/hw/cpu/a15mpcore.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cpu/arm11mpcore.c
/qemu/hw/cpu/cluster.c
/qemu/hw/cpu/realview_mpcore.c
/qemu/hw/cris/boot.c
/qemu/hw/display/Kconfig
/qemu/hw/display/Makefile.objs
/qemu/hw/display/artist.c
/qemu/hw/display/ati.c
/qemu/hw/display/bcm2835_fb.c
/qemu/hw/display/bochs-display.c
/qemu/hw/display/cg3.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/cirrus_vga_isa.c
/qemu/hw/display/g364fb.c
/qemu/hw/display/i2c-ddc.c
/qemu/hw/display/macfb.c
/qemu/hw/display/milkymist-vgafb.c
/qemu/hw/display/qxl.c
/qemu/hw/display/ramfb-standalone.c
/qemu/hw/display/sm501.c
/qemu/hw/display/tcx.c
/qemu/hw/display/trace-events
/qemu/hw/display/vga-isa.c
/qemu/hw/display/vga-pci.c
/qemu/hw/display/vhost-user-gpu.c
/qemu/hw/display/virtio-gpu-pci.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/display/virtio-vga.c
/qemu/hw/display/vmware_vga.c
/qemu/hw/dma/Makefile.objs
/qemu/hw/dma/bcm2835_dma.c
/qemu/hw/dma/i82374.c
/qemu/hw/dma/i8257.c
/qemu/hw/dma/pl080.c
/qemu/hw/dma/pl330.c
/qemu/hw/dma/pxa2xx_dma.c
/qemu/hw/dma/trace-events
/qemu/hw/dma/xilinx_axidma.c
/qemu/hw/dma/xlnx-zdma.c
/qemu/hw/gpio/Makefile.objs
/qemu/hw/gpio/imx_gpio.c
/qemu/hw/gpio/omap_gpio.c
/qemu/hw/hppa/Kconfig
/qemu/hw/hppa/Makefile.objs
/qemu/hw/hppa/dino.c
/qemu/hw/hppa/hppa_hardware.h
/qemu/hw/hppa/hppa_sys.h
/qemu/hw/hppa/lasi.c
/qemu/hw/hppa/machine.c
/qemu/hw/hppa/trace-events
/qemu/hw/hyperv/hyperv.c
/qemu/hw/i2c/Makefile.objs
/qemu/hw/i2c/aspeed_i2c.c
/qemu/hw/i2c/core.c
/qemu/hw/i2c/omap_i2c.c
/qemu/hw/i2c/ppc4xx_i2c.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/clock.c
/qemu/hw/i386/kvm/i8254.c
/qemu/hw/i386/kvm/ioapic.c
/qemu/hw/i386/microvm.c
/qemu/hw/i386/multiboot.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/vmmouse.c
/qemu/hw/i386/x86-iommu.c
/qemu/hw/i386/x86.c
/qemu/hw/i386/xen/xen_pvdevice.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/core.c
/qemu/hw/ide/isa.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/microdrive.c
/qemu/hw/ide/mmio.c
/qemu/hw/ide/qdev.c
/qemu/hw/input/Kconfig
/qemu/hw/input/Makefile.objs
/qemu/hw/input/adb.c
/qemu/hw/input/lasips2.c
/qemu/hw/input/milkymist-softusb.c
/qemu/hw/input/ps2.c
/qemu/hw/input/trace-events
/qemu/hw/input/virtio-input-hid.c
/qemu/hw/input/virtio-input-host.c
/qemu/hw/input/virtio-input.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gicv2m.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/arm_gicv3_kvm.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/exynos4210_combiner.c
/qemu/hw/intc/exynos4210_gic.c
/qemu/hw/intc/i8259_common.c
/qemu/hw/intc/ioapic.c
/qemu/hw/intc/mips_gic.c
/qemu/hw/intc/omap_intc.c
/qemu/hw/intc/ompic.c
/qemu/hw/intc/openpic.c
/qemu/hw/intc/openpic_kvm.c
/qemu/hw/intc/pnv_xive.c
/qemu/hw/intc/s390_flic.c
/qemu/hw/intc/s390_flic_kvm.c
/qemu/hw/intc/spapr_xive.c
/qemu/hw/intc/xics.c
/qemu/hw/intc/xilinx_intc.c
/qemu/hw/intc/xive.c
/qemu/hw/intc/xlnx-pmu-iomod-intc.c
/qemu/hw/ipack/ipack.c
/qemu/hw/ipmi/ipmi.c
/qemu/hw/ipmi/ipmi_bmc_extern.c
/qemu/hw/ipmi/ipmi_bmc_sim.c
/qemu/hw/ipmi/isa_ipmi_bt.c
/qemu/hw/ipmi/isa_ipmi_kcs.c
/qemu/hw/isa/Kconfig
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/pc87312.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/lm32/lm32_boards.c
/qemu/hw/lm32/milkymist.c
/qemu/hw/m68k/an5206.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/m68k/q800.c
/qemu/hw/mem/nvdimm.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/microblaze/boot.c
/qemu/hw/mips/cps.c
/qemu/hw/mips/mips_fulong2e.c
/qemu/hw/mips/mips_malta.c
/qemu/hw/mips/mips_mipssim.c
/qemu/hw/mips/mips_r4k.c
/qemu/hw/misc/a9scu.c
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/arm11scu.c
/qemu/hw/misc/arm_l2x0.c
/qemu/hw/misc/arm_sysctl.c
/qemu/hw/misc/armsse-cpuid.c
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/aspeed_sdmc.c
/qemu/hw/misc/bcm2835_property.c
/qemu/hw/misc/debugexit.c
/qemu/hw/misc/eccmemctl.c
/qemu/hw/misc/iotkit-sysctl.c
/qemu/hw/misc/iotkit-sysinfo.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/mips_cmgcr.c
/qemu/hw/misc/mips_cpc.c
/qemu/hw/misc/mips_itu.c
/qemu/hw/misc/mos6522.c
/qemu/hw/misc/mps2-fpgaio.c
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/msf2-sysreg.c
/qemu/hw/misc/nrf51_rng.c
/qemu/hw/misc/pca9552.c
/qemu/hw/misc/pci-testdev.c
/qemu/hw/misc/pvpanic.c
/qemu/hw/misc/stm32f4xx_syscfg.c
/qemu/hw/misc/tz-mpc.c
/qemu/hw/misc/tz-msc.c
/qemu/hw/misc/tz-ppc.c
/qemu/hw/misc/unimp.c
/qemu/hw/moxie/moxiesim.c
/qemu/hw/net/Kconfig
/qemu/hw/net/Makefile.objs
/qemu/hw/net/allwinner_emac.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/etraxfs_eth.c
/qemu/hw/net/fsl_etsec/etsec.c
/qemu/hw/net/ftgmac100.c
/qemu/hw/net/i82596.c
/qemu/hw/net/i82596.h
/qemu/hw/net/imx_fec.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/lance.c
/qemu/hw/net/lasi_i82596.c
/qemu/hw/net/mcf_fec.c
/qemu/hw/net/milkymist-minimac2.c
/qemu/hw/net/mipsnet.c
/qemu/hw/net/ne2000-isa.c
/qemu/hw/net/ne2000-pci.c
/qemu/hw/net/opencores_eth.c
/qemu/hw/net/pcnet-pci.c
/qemu/hw/net/rocker/rocker.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/spapr_llan.c
/qemu/hw/net/stellaris_enet.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/trace-events
/qemu/hw/net/tulip.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/net/xgmac.c
/qemu/hw/net/xilinx_axienet.c
/qemu/hw/net/xilinx_ethlite.c
/qemu/hw/nios2/boot.c
/qemu/hw/nvram/Makefile.objs
/qemu/hw/nvram/ds1225y.c
/qemu/hw/nvram/eeprom_at24c.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/nvram/nrf51_nvm.c
/qemu/hw/nvram/spapr_nvram.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-bridge/gen_pcie_root_port.c
/qemu/hw/pci-bridge/pci_bridge_dev.c
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci-bridge/pcie_pci_bridge.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-bridge/xio3130_downstream.c
/qemu/hw/pci-host/Makefile.objs
/qemu/hw/pci-host/designware.c
/qemu/hw/pci-host/grackle.c
/qemu/hw/pci-host/i440fx.c
/qemu/hw/pci-host/pnv_phb3.c
/qemu/hw/pci-host/pnv_phb3_msi.c
/qemu/hw/pci-host/pnv_phb3_pbcq.c
/qemu/hw/pci-host/pnv_phb4.c
/qemu/hw/pci-host/pnv_phb4_pec.c
/qemu/hw/pci-host/ppce500.c
/qemu/hw/pci-host/prep.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci-host/sabre.c
/qemu/hw/pci-host/uninorth.c
/qemu/hw/pci-host/versatile.c
/qemu/hw/pci-host/xilinx-pcie.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie_port.c
/qemu/hw/pcmcia/Makefile.objs
/qemu/hw/ppc/Kconfig
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_homer.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/pnv_occ.c
/qemu/hw/ppc/pnv_pnor.c
/qemu/hw/ppc/pnv_psi.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/prep_systemio.c
/qemu/hw/ppc/rs6000_mc.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_events.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/spapr_rng.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/ppc/spapr_tpm_proxy.c
/qemu/hw/ppc/spapr_vio.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/rdma/vmw/pvrdma_main.c
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/riscv_hart.c
/qemu/hw/riscv/sifive_clint.c
/qemu/hw/riscv/sifive_plic.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/sifive_u_otp.c
/qemu/hw/rtc/m48t59-internal.h
/qemu/hw/rtc/m48t59-isa.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/rtc/mc146818rtc.c
/qemu/hw/rtc/pl031.c
/qemu/hw/rtc/trace-events
/qemu/hw/s390x/3270-ccw.c
/qemu/hw/s390x/ccw-device.c
/qemu/hw/s390x/css-bridge.c
/qemu/hw/s390x/event-facility.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/sclp.c
/qemu/hw/s390x/vhost-vsock-ccw.c
/qemu/hw/s390x/virtio-ccw-9p.c
/qemu/hw/s390x/virtio-ccw-balloon.c
/qemu/hw/s390x/virtio-ccw-blk.c
/qemu/hw/s390x/virtio-ccw-crypto.c
/qemu/hw/s390x/virtio-ccw-gpu.c
/qemu/hw/s390x/virtio-ccw-input.c
/qemu/hw/s390x/virtio-ccw-net.c
/qemu/hw/s390x/virtio-ccw-rng.c
/qemu/hw/s390x/virtio-ccw-scsi.c
/qemu/hw/s390x/virtio-ccw-serial.c
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/scsi/spapr_vscsi.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/scsi/vhost-user-scsi.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/Makefile.objs
/qemu/hw/sd/aspeed_sdhci.c
/qemu/hw/sd/omap_mmc.c
/qemu/hw/sd/pl181.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci-pci.c
/qemu/hw/sd/sdhci.c
/qemu/hw/smbios/smbios.c
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc/sun4m_iommu.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/Makefile.objs
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/ssi/xilinx_spi.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/timer/a9gtimer.c
/qemu/hw/timer/allwinner-a10-pit.c
/qemu/hw/timer/altera_timer.c
/qemu/hw/timer/arm_mptimer.c
/qemu/hw/timer/arm_timer.c
/qemu/hw/timer/armv7m_systick.c
/qemu/hw/timer/aspeed_timer.c
/qemu/hw/timer/cmsdk-apb-dualtimer.c
/qemu/hw/timer/cmsdk-apb-timer.c
/qemu/hw/timer/grlib_gptimer.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/i8254.c
/qemu/hw/timer/lm32_timer.c
/qemu/hw/timer/milkymist-sysctl.c
/qemu/hw/timer/mss-timer.c
/qemu/hw/timer/pxa2xx_timer.c
/qemu/hw/timer/slavio_timer.c
/qemu/hw/timer/stm32f2xx_timer.c
/qemu/hw/timer/xilinx_timer.c
/qemu/hw/tpm/Kconfig
/qemu/hw/tpm/Makefile.objs
/qemu/hw/tpm/tpm_crb.c
/qemu/hw/tpm/tpm_ppi.c
/qemu/hw/tpm/tpm_spapr.c
/qemu/hw/tpm/tpm_tis.c
/qemu/hw/tpm/tpm_util.c
/qemu/hw/tpm/tpm_util.h
/qemu/hw/tpm/trace-events
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/usb/Makefile.objs
/qemu/hw/usb/bus.c
/qemu/hw/usb/ccid-card-emulated.c
/qemu/hw/usb/ccid-card-passthru.c
/qemu/hw/usb/dev-audio.c
/qemu/hw/usb/dev-hid.c
/qemu/hw/usb/dev-hub.c
/qemu/hw/usb/dev-mtp.c
/qemu/hw/usb/dev-network.c
/qemu/hw/usb/dev-serial.c
/qemu/hw/usb/dev-smartcard-reader.c
/qemu/hw/usb/dev-storage.c
/qemu/hw/usb/dev-uas.c
/qemu/hw/usb/hcd-ehci-pci.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ohci-pci.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-uhci.c
/qemu/hw/usb/hcd-xhci-nec.c
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/host-libusb.c
/qemu/hw/usb/redirect.c
/qemu/hw/vfio/Kconfig
/qemu/hw/vfio/Makefile.objs
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/igd.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/vfio/platform.c
/qemu/hw/virtio/vhost-scsi-pci.c
/qemu/hw/virtio/vhost-user-blk-pci.c
/qemu/hw/virtio/vhost-user-fs-pci.c
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-scsi-pci.c
/qemu/hw/virtio/vhost-vsock-pci.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/virtio-9p-pci.c
/qemu/hw/virtio/virtio-balloon-pci.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-blk-pci.c
/qemu/hw/virtio/virtio-crypto-pci.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-input-pci.c
/qemu/hw/virtio/virtio-mmio.c
/qemu/hw/virtio/virtio-net-pci.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio-pmem.c
/qemu/hw/virtio/virtio-rng.c
/qemu/hw/virtio/virtio-scsi-pci.c
/qemu/hw/virtio/virtio-serial-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/watchdog/cmsdk-apb-watchdog.c
/qemu/hw/watchdog/wdt_aspeed.c
/qemu/hw/xen/xen-bus.c
/qemu/hw/xen/xen-legacy-backend.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xenpv/xen_machine_pv.c
/qemu/hw/xtensa/sim.c
/qemu/hw/xtensa/xtfpga.c
/qemu/include/block/aio.h
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/raw-aio.h
/qemu/include/disas/dis-asm.h
/qemu/include/elf.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/ramblock.h
/qemu/include/hw/arm/aspeed.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/exynos4210.h
/qemu/include/hw/arm/virt.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/elf_ops.h
/qemu/include/hw/input/lasips2.h
/qemu/include/hw/input/ps2.h
/qemu/include/hw/loader.h
/qemu/include/hw/net/lasi_82596.h
/qemu/include/hw/or-irq.h
/qemu/include/hw/pci-host/pnv_phb3.h
/qemu/include/hw/pci-host/pnv_phb3_regs.h
/qemu/include/hw/pci-host/pnv_phb4.h
/qemu/include/hw/pci-host/pnv_phb4_regs.h
/qemu/include/hw/pci/pci_bridge.h
/qemu/include/hw/pci/pcie_port.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/ppc.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_vio.h
/qemu/include/hw/ppc/xics.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/qdev-properties.h
/qemu/include/hw/resettable.h
/qemu/include/hw/sd/aspeed_sdhci.h
/qemu/include/qapi/qmp/qstring.h
/qemu/include/qemu/main-loop.h
/qemu/include/qemu/queue.h
/qemu/include/qom/object.h
/qemu/include/sysemu/accel.h
/qemu/include/sysemu/runstate.h
/qemu/include/sysemu/sysemu.h
/qemu/include/sysemu/tpm.h
/qemu/io/channel-websock.c
/qemu/memory.c
/qemu/migration/Makefile.objs
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/qemu-file.c
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/migration/vmstate-types.c
/qemu/monitor/hmp-cmds.c
/qemu/monitor/misc.c
/qemu/pc-bios/README
/qemu/pc-bios/hppa-firmware.img
/qemu/python/qemu/accel.py
/qemu/python/qemu/machine.py
/qemu/python/qemu/qmp.py
/qemu/qapi/audio.json
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/qom.json
/qemu/qapi/run-state.json
/qemu/qapi/tpm.json
/qemu/qdev-monitor.c
/qemu/qemu-deprecated.texi
/qemu/qemu-doc.texi
/qemu/qemu-img-cmds.hx
/qemu/qemu-img.c
/qemu/qemu-io.c
/qemu/qemu-nbd.c
/qemu/qemu-option-trace.texi
/qemu/qemu-options.hx
/qemu/qga/vss-win32/Makefile.objs
/qemu/qobject/qstring.c
/qemu/qom/object.c
/qemu/qom/object_interfaces.c
/qemu/qom/qom-qmp-cmds.c
/qemu/roms/seabios-hppa
/qemu/rules.mak
/qemu/scripts/analyse-9p-simpletrace.py
/qemu/scripts/analyse-locks-simpletrace.py
/qemu/scripts/checkpatch.pl
/qemu/scripts/decodetree.py
/qemu/scripts/device-crash-test
/qemu/scripts/dump-guest-memory.py
/qemu/scripts/hxtool
/qemu/scripts/kvm/kvm_flightrecorder
/qemu/scripts/kvm/vmxcap
/qemu/scripts/minikconf.py
/qemu/scripts/modules/module_block.py
/qemu/scripts/qapi-gen.py
/qemu/scripts/qapi/doc.py
/qemu/scripts/qmp/qemu-ga-client
/qemu/scripts/qmp/qmp
/qemu/scripts/qmp/qmp-shell
/qemu/scripts/qmp/qom-fuse
/qemu/scripts/qmp/qom-get
/qemu/scripts/qmp/qom-list
/qemu/scripts/qmp/qom-set
/qemu/scripts/qmp/qom-tree
/qemu/scripts/render_block_graph.py
/qemu/scripts/replay-dump.py
/qemu/scripts/signrom.py
/qemu/scripts/simpletrace.py
/qemu/scripts/tracetool.py
/qemu/scripts/tracetool/__init__.py
/qemu/scripts/tracetool/backend/__init__.py
/qemu/scripts/tracetool/backend/dtrace.py
/qemu/scripts/tracetool/backend/ftrace.py
/qemu/scripts/tracetool/backend/log.py
/qemu/scripts/tracetool/backend/simple.py
/qemu/scripts/tracetool/backend/syslog.py
/qemu/scripts/tracetool/backend/ust.py
/qemu/scripts/tracetool/format/__init__.py
/qemu/scripts/tracetool/format/c.py
/qemu/scripts/tracetool/format/d.py
/qemu/scripts/tracetool/format/h.py
/qemu/scripts/tracetool/format/log_stap.py
/qemu/scripts/tracetool/format/simpletrace_stap.py
/qemu/scripts/tracetool/format/stap.py
/qemu/scripts/tracetool/format/tcg_h.py
/qemu/scripts/tracetool/format/tcg_helper_c.py
/qemu/scripts/tracetool/format/tcg_helper_h.py
/qemu/scripts/tracetool/format/tcg_helper_wrapper_h.py
/qemu/scripts/tracetool/format/ust_events_c.py
/qemu/scripts/tracetool/format/ust_events_h.py
/qemu/scripts/tracetool/transform.py
/qemu/scripts/tracetool/vcpu.py
/qemu/scripts/vmstate-static-checker.py
/qemu/stubs/Makefile.objs
/qemu/stubs/io_uring.c
/qemu/target/arm/arch_dump.c
/qemu/target/arm/arm-semi.c
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/debug_helper.c
/qemu/target/arm/helper-a64.c
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm32.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/kvm_arm.h
/qemu/target/arm/machine.c
/qemu/target/arm/monitor.c
/qemu/target/arm/pauth_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/arm/translate.h
/qemu/target/cris/cpu.c
/qemu/target/hppa/helper.h
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/hvf/x86_emu.c
/qemu/target/i386/kvm.c
/qemu/target/i386/kvm_i386.h
/qemu/target/i386/misc_helper.c
/qemu/target/lm32/cpu.c
/qemu/target/m68k/cpu.c
/qemu/target/microblaze/cpu.c
/qemu/target/mips/Makefile.objs
/qemu/target/mips/cp0_helper.c
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/fpu_helper.c
/qemu/target/mips/helper.c
/qemu/target/mips/helper.h
/qemu/target/mips/internal.h
/qemu/target/mips/machine.c
/qemu/target/mips/mips-semi.c
/qemu/target/mips/op_helper.c
/qemu/target/mips/translate.c
/qemu/target/moxie/cpu.c
/qemu/target/nios2/cpu.c
/qemu/target/openrisc/cpu.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/helper.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/mem_helper.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/ppc/trace-events
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate_init.inc.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/csr.c
/qemu/target/riscv/insn_trans/trans_rvd.inc.c
/qemu/target/riscv/insn_trans/trans_rvf.inc.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/translate.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/excp_helper.c
/qemu/target/s390x/kvm.c
/qemu/target/s390x/sigp.c
/qemu/target/s390x/translate.c
/qemu/target/s390x/translate_vx.inc.c
/qemu/target/sh4/cpu.c
/qemu/target/sparc/cpu.c
/qemu/target/tilegx/cpu.c
/qemu/target/tricore/cpu.c
/qemu/target/xtensa/cpu.c
/qemu/tests/Makefile.include
/qemu/tests/acceptance/avocado_qemu/__init__.py
/qemu/tests/acceptance/boot_linux_console.py
/qemu/tests/acceptance/migration.py
/qemu/tests/acceptance/version.py
/qemu/tests/acceptance/virtio_check_params.py
/qemu/tests/acceptance/x86_cpu_model_versions.py
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/docker.py
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/travis.py
/qemu/tests/guest-debug/test-gdbstub.py
/qemu/tests/migration/guestperf/engine.py
/qemu/tests/migration/guestperf/plot.py
/qemu/tests/migration/guestperf/shell.py
/qemu/tests/qapi-schema/test-qapi.py
/qemu/tests/qemu-iotests/028
/qemu/tests/qemu-iotests/030
/qemu/tests/qemu-iotests/040
/qemu/tests/qemu-iotests/041
/qemu/tests/qemu-iotests/044
/qemu/tests/qemu-iotests/045
/qemu/tests/qemu-iotests/055
/qemu/tests/qemu-iotests/056
/qemu/tests/qemu-iotests/057
/qemu/tests/qemu-iotests/058
/qemu/tests/qemu-iotests/065
/qemu/tests/qemu-iotests/089
/qemu/tests/qemu-iotests/091
/qemu/tests/qemu-iotests/093
/qemu/tests/qemu-iotests/096
/qemu/tests/qemu-iotests/109
/qemu/tests/qemu-iotests/118
/qemu/tests/qemu-iotests/124
/qemu/tests/qemu-iotests/127
/qemu/tests/qemu-iotests/129
/qemu/tests/qemu-iotests/132
/qemu/tests/qemu-iotests/136
/qemu/tests/qemu-iotests/139
/qemu/tests/qemu-iotests/141.out
/qemu/tests/qemu-iotests/147
/qemu/tests/qemu-iotests/148
/qemu/tests/qemu-iotests/149
/qemu/tests/qemu-iotests/151
/qemu/tests/qemu-iotests/152
/qemu/tests/qemu-iotests/155
/qemu/tests/qemu-iotests/163
/qemu/tests/qemu-iotests/165
/qemu/tests/qemu-iotests/169
/qemu/tests/qemu-iotests/181
/qemu/tests/qemu-iotests/183
/qemu/tests/qemu-iotests/185
/qemu/tests/qemu-iotests/185.out
/qemu/tests/qemu-iotests/194
/qemu/tests/qemu-iotests/196
/qemu/tests/qemu-iotests/199
/qemu/tests/qemu-iotests/200
/qemu/tests/qemu-iotests/201
/qemu/tests/qemu-iotests/202
/qemu/tests/qemu-iotests/203
/qemu/tests/qemu-iotests/205
/qemu/tests/qemu-iotests/206
/qemu/tests/qemu-iotests/207
/qemu/tests/qemu-iotests/208
/qemu/tests/qemu-iotests/209
/qemu/tests/qemu-iotests/210
/qemu/tests/qemu-iotests/211
/qemu/tests/qemu-iotests/212
/qemu/tests/qemu-iotests/213
/qemu/tests/qemu-iotests/216
/qemu/tests/qemu-iotests/218
/qemu/tests/qemu-iotests/219
/qemu/tests/qemu-iotests/219.out
/qemu/tests/qemu-iotests/222
/qemu/tests/qemu-iotests/223
/qemu/tests/qemu-iotests/223.out
/qemu/tests/qemu-iotests/224
/qemu/tests/qemu-iotests/228
/qemu/tests/qemu-iotests/234
/qemu/tests/qemu-iotests/235
/qemu/tests/qemu-iotests/236
/qemu/tests/qemu-iotests/237
/qemu/tests/qemu-iotests/238
/qemu/tests/qemu-iotests/242
/qemu/tests/qemu-iotests/245
/qemu/tests/qemu-iotests/246
/qemu/tests/qemu-iotests/248
/qemu/tests/qemu-iotests/254
/qemu/tests/qemu-iotests/255
/qemu/tests/qemu-iotests/256
/qemu/tests/qemu-iotests/257
/qemu/tests/qemu-iotests/258
/qemu/tests/qemu-iotests/260
/qemu/tests/qemu-iotests/262
/qemu/tests/qemu-iotests/264
/qemu/tests/qemu-iotests/266
/qemu/tests/qemu-iotests/267
/qemu/tests/qemu-iotests/277
/qemu/tests/qemu-iotests/280
/qemu/tests/qemu-iotests/281
/qemu/tests/qemu-iotests/281.out
/qemu/tests/qemu-iotests/283
/qemu/tests/qemu-iotests/283.out
/qemu/tests/qemu-iotests/check
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/nbd-fault-injector.py
/qemu/tests/qemu-iotests/qcow2.py
/qemu/tests/qemu-iotests/qed.py
/qemu/tests/qtest/Makefile.include
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/boot-order-test.c
/qemu/tests/qtest/boot-serial-test.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/endianness-test.c
/qemu/tests/qtest/ide-test.c
/qemu/tests/qtest/libqos/fw_cfg.h
/qemu/tests/qtest/libqos/libqos-spapr.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/prom-env-test.c
/qemu/tests/qtest/pxe-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/pauth-1.c
/qemu/tests/tcg/aarch64/pauth-2.c
/qemu/tests/tcg/aarch64/pauth-4.c
/qemu/tests/tcg/aarch64/system/pauth-3.c
/qemu/tests/tcg/configure.sh
/qemu/tests/test-logging.c
/qemu/tests/test-qdev-global-props.c
/qemu/tests/vm/basevm.py
/qemu/tests/vm/centos
/qemu/tests/vm/fedora
/qemu/tests/vm/freebsd
/qemu/tests/vm/netbsd
/qemu/tests/vm/openbsd
/qemu/tests/vm/ubuntu.i386
virtiofsd/fuse.h
virtiofsd/fuse_lowlevel.c
virtiofsd/fuse_lowlevel.h
/qemu/trace/control.c
/qemu/ui/console.c
/qemu/ui/vnc-enc-zrle.c
/qemu/ui/vnc.c
/qemu/util/async.c
/qemu/util/log.c
/qemu/vl.c
1d59b1b218-Dec-2019 Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>

virtiofsd: add some options to the help message

Add following options to the help message:
- cache
- flock|no_flock
- norace
- posix_lock|no_posix_lock
- readdirplus|no_readdirplus
- timeout
- write

virtiofsd: add some options to the help message

Add following options to the help message:
- cache
- flock|no_flock
- norace
- posix_lock|no_posix_lock
- readdirplus|no_readdirplus
- timeout
- writeback|no_writeback
- xattr|no_xattr

Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>

dgilbert: Split cache, norace, posix_lock, readdirplus off
into our own earlier patches that added the options

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

9883df8c07-Jan-2020 Eryu Guan <eguan@linux.alibaba.com>

virtiofsd: stop all queue threads on exit in virtio_loop()

On guest graceful shutdown, virtiofsd receives VHOST_USER_GET_VRING_BASE
request from VMM and shuts down virtqueues by calling fv_set_start

virtiofsd: stop all queue threads on exit in virtio_loop()

On guest graceful shutdown, virtiofsd receives VHOST_USER_GET_VRING_BASE
request from VMM and shuts down virtqueues by calling fv_set_started(),
which joins fv_queue_thread() threads. So when virtio_loop() returns,
there should be no thread is still accessing data in fuse session and/or
virtio dev.

But on abnormal exit, e.g. guest got killed for whatever reason,
vhost-user socket is closed and virtio_loop() breaks out the main loop
and returns to main(). But it's possible fv_queue_worker()s are still
working and accessing fuse session and virtio dev, which results in
crash or use-after-free.

Fix it by stopping fv_queue_thread()s before virtio_loop() returns,
to make sure there's no-one could access fuse session and virtio dev.

Reported-by: Qingming Su <qingming.su@linux.alibaba.com>
Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

a931b68602-Jan-2020 Xiao Yang <yangx.jy@cn.fujitsu.com>

virtiofsd/passthrough_ll: Pass errno to fuse_reply_err()

lo_copy_file_range() passes -errno to fuse_reply_err() and then fuse_reply_err()
changes it to errno again, so that subsequent fuse_send_repl

virtiofsd/passthrough_ll: Pass errno to fuse_reply_err()

lo_copy_file_range() passes -errno to fuse_reply_err() and then fuse_reply_err()
changes it to errno again, so that subsequent fuse_send_reply_iov_nofree() catches
the wrong errno.(i.e. reports "fuse: bad error value: ...").

Make fuse_send_reply_iov_nofree() accept the correct -errno by passing errno
directly in lo_copy_file_range().

Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Eryu Guan <eguan@linux.alibaba.com>

dgilbert: Sent upstream and now Merged as aa1185e153f774f1df65
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

fe4c157923-Aug-2019 Dr. David Alan Gilbert <dgilbert@redhat.com>

virtiofsd: Convert lo_destroy to take the lo->mutex lock itself

lo_destroy was relying on some implicit knowledge of the locking;
we can avoid this if we create an unref_inode that doesn't take
the

virtiofsd: Convert lo_destroy to take the lo->mutex lock itself

lo_destroy was relying on some implicit knowledge of the locking;
we can avoid this if we create an unref_inode that doesn't take
the lock and then grab it for the whole of the lo_destroy.

Suggested-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

951b312001-Aug-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: add --thread-pool-size=NUM option

Add an option to control the size of the thread pool. Requests are now
processed in parallel by default.

Signed-off-by: Stefan Hajnoczi <stefanha@redha

virtiofsd: add --thread-pool-size=NUM option

Add an option to control the size of the thread pool. Requests are now
processed in parallel by default.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

28f7a3b001-Aug-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: fix lo_destroy() resource leaks

Now that lo_destroy() is serialized we can call unref_inode() so that
all inode resources are freed.

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

virtiofsd: fix lo_destroy() resource leaks

Now that lo_destroy() is serialized we can call unref_inode() so that
all inode resources are freed.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

cdc497c601-Aug-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races

When running with multiple threads it can be tricky to handle
FUSE_INIT/FUSE_DESTROY in parallel with other request types or in
parallel with themselv

virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races

When running with multiple threads it can be tricky to handle
FUSE_INIT/FUSE_DESTROY in parallel with other request types or in
parallel with themselves. Serialize FUSE_INIT and FUSE_DESTROY so that
malicious clients cannot trigger race conditions.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

a3d756c501-Aug-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: process requests in a thread pool

Introduce a thread pool so that fv_queue_thread() just pops
VuVirtqElements and hands them to the thread pool. For the time being
only one worker thread

virtiofsd: process requests in a thread pool

Introduce a thread pool so that fv_queue_thread() just pops
VuVirtqElements and hands them to the thread pool. For the time being
only one worker thread is allowed since passthrough_ll.c is not
thread-safe yet. Future patches will lift this restriction so that
multiple FUSE requests can be processed in parallel.

The main new concept is struct FVRequest, which contains both
VuVirtqElement and struct fuse_chan. We now have fv_VuDev for a device,
fv_QueueInfo for a virtqueue, and FVRequest for a request. Some of
fv_QueueInfo's fields are moved into FVRequest because they are
per-request. The name FVRequest conforms to QEMU coding style and I
expect the struct fv_* types will be renamed in a future refactoring.

This patch series is not optimal. fbuf reuse is dropped so each request
does malloc(se->bufsize), but there is no clean and cheap way to keep
this with a thread pool. The vq_lock mutex is held for longer than
necessary, especially during the eventfd_write() syscall. Performance
can be improved in the future.

prctl(2) had to be added to the seccomp whitelist because glib invokes
it.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

1234567891011