History log of /openbmc/qemu/tools/ (Results 176 – 200 of 282)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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 ...


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

9883df8c06-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 ...

a931b68601-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 ...

c465bba215-Aug-2019 piaojun <piaojun@huawei.com>

virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance

fuse_buf_writev() only handles the normal write in which src is buffer
and dest is fd. Specially if src buffer represe

virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better performance

fuse_buf_writev() only handles the normal write in which src is buffer
and dest is fd. Specially if src buffer represents guest physical
address that can't be mapped by the daemon process, IO must be bounced
back to the VMM to do it by fuse_buf_copy().

Signed-off-by: Jun Piao <piaojun@huawei.com>
Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Suggested-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

9ceaaa1515-Aug-2019 piaojun <piaojun@huawei.com>

virtiofsd: add definition of fuse_buf_writev()

Define fuse_buf_writev() which use pwritev and writev to improve io
bandwidth. Especially, the src bufs with 0 size should be skipped as
their mems are

virtiofsd: add definition of fuse_buf_writev()

Define fuse_buf_writev() which use pwritev and writev to improve io
bandwidth. Especially, the src bufs with 0 size should be skipped as
their mems are not *block_size* aligned which will cause writev failed
in direct io mode.

Signed-off-by: Jun Piao <piaojun@huawei.com>
Suggested-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

9b610b0919-Jan-2020 Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>

virtiofsd: passthrough_ll: Use cache_readdir for directory open

Since keep_cache(FOPEN_KEEP_CACHE) has no effect for directory as
described in fuse_common.h, use cache_readdir(FOPNE_CACHE_DIR) for
d

virtiofsd: passthrough_ll: Use cache_readdir for directory open

Since keep_cache(FOPEN_KEEP_CACHE) has no effect for directory as
described in fuse_common.h, use cache_readdir(FOPNE_CACHE_DIR) for
diretory open when cache=always mode.

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

show more ...

8e4e41e323-Oct-2019 Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>

virtiofsd: Fix data corruption with O_APPEND write in writeback mode

When writeback mode is enabled (-o writeback), O_APPEND handling is
done in kernel. Therefore virtiofsd clears O_APPEND flag when

virtiofsd: Fix data corruption with O_APPEND write in writeback mode

When writeback mode is enabled (-o writeback), O_APPEND handling is
done in kernel. Therefore virtiofsd clears O_APPEND flag when open.
Otherwise O_APPEND flag takes precedence over pwrite() and write
data may corrupt.

Currently clearing O_APPEND flag is done in lo_open(), but we also
need the same operation in lo_create(). So, factor out the flag
update operation in lo_open() to update_open_flags() and call it
in both lo_open() and lo_create().

This fixes the failure of xfstest generic/069 in writeback mode
(which tests O_APPEND write data integrity).

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

show more ...

65da453920-Aug-2019 Vivek Goyal <vgoyal@redhat.com>

virtiofsd: Reset O_DIRECT flag during file open

If an application wants to do direct IO and opens a file with O_DIRECT
in guest, that does not necessarily mean that we need to bypass page
cache on h

virtiofsd: Reset O_DIRECT flag during file open

If an application wants to do direct IO and opens a file with O_DIRECT
in guest, that does not necessarily mean that we need to bypass page
cache on host as well. So reset this flag on host.

If somebody needs to bypass page cache on host as well (and it is safe to
do so), we can add a knob in daemon later to control this behavior.

I check virtio-9p and they do reset O_DIRECT flag.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

fc1aed0b09-Aug-2019 Eryu Guan <eguan@linux.alibaba.com>

virtiofsd: convert more fprintf and perror to use fuse log infra

Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Misono Tomohiro

virtiofsd: convert more fprintf and perror to use fuse log infra

Signed-off-by: Eryu Guan <eguan@linux.alibaba.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

e468d4af02-Aug-2019 Peng Tao <tao.peng@linux.alibaba.com>

virtiofsd: do not always set FUSE_FLOCK_LOCKS

Right now we always enable it regardless of given commandlines.
Fix it by setting the flag relying on the lo->flock bit.

Signed-off-by: Peng Tao <tao.p

virtiofsd: do not always set FUSE_FLOCK_LOCKS

Right now we always enable it regardless of given commandlines.
Fix it by setting the flag relying on the lo->flock bit.

Signed-off-by: Peng Tao <tao.peng@linux.alibaba.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Reviewed-by: Sergio Lopez <slp@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...

c241aa9431-Jul-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: introduce inode refcount to prevent use-after-free

If thread A is using an inode it must not be deleted by thread B when
processing a FUSE_FORGET request.

The FUSE protocol itself alread

virtiofsd: introduce inode refcount to prevent use-after-free

If thread A is using an inode it must not be deleted by thread B when
processing a FUSE_FORGET request.

The FUSE protocol itself already has a counter called nlookup that is
used in FUSE_FORGET messages. We cannot trust this counter since the
untrusted client can manipulate it via FUSE_FORGET messages.

Introduce a new refcount to keep inodes alive for the required lifespan.
lo_inode_put() must be called to release a reference. FUSE's nlookup
counter holds exactly one reference so that the inode stays alive as
long as the client still wants to remember it.

Note that the lo_inode->is_symlink field is moved to avoid creating a
hole in the struct due to struct field alignment.

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

show more ...

9257e51412-Sep-2018 Miklos Szeredi <mszeredi@redhat.com>

virtiofsd: passthrough_ll: fix refcounting on remove/rename

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Reviewed-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Signed-off-by: Dr. David

virtiofsd: passthrough_ll: fix refcounting on remove/rename

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

show more ...

1222f01531-Jul-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: rename inode->refcount to inode->nlookup

This reference counter plays a specific role in the FUSE protocol. It's
not a generic object reference counter and the FUSE kernel code calls it

virtiofsd: rename inode->refcount to inode->nlookup

This reference counter plays a specific role in the FUSE protocol. It's
not a generic object reference counter and the FUSE kernel code calls it
"nlookup".

Signed-off-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 ...

acefdde726-Jul-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: prevent races with lo_dirp_put()

Introduce lo_dirp_put() so that FUSE_RELEASEDIR does not cause
use-after-free races with other threads that are accessing lo_dirp.

Also make lo_releasedi

virtiofsd: prevent races with lo_dirp_put()

Introduce lo_dirp_put() so that FUSE_RELEASEDIR does not cause
use-after-free races with other threads that are accessing lo_dirp.

Also make lo_releasedir() atomic to prevent FUSE_RELEASEDIR racing with
itself. This prevents double-frees.

Signed-off-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 ...

baed65c026-Jul-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: make lo_release() atomic

Hold the lock across both lo_map_get() and lo_map_remove() to prevent
races between two FUSE_RELEASE requests. In this case I don't see a
serious bug but it's sa

virtiofsd: make lo_release() atomic

Hold the lock across both lo_map_get() and lo_map_remove() to prevent
races between two FUSE_RELEASE requests. In this case I don't see a
serious bug but it's safer to do things atomically.

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

show more ...

e7b3373217-Jul-2019 Stefan Hajnoczi <stefanha@redhat.com>

virtiofsd: prevent fv_queue_thread() vs virtio_loop() races

We call into libvhost-user from the virtqueue handler thread and the
vhost-user message processing thread without a lock. There is nothin

virtiofsd: prevent fv_queue_thread() vs virtio_loop() races

We call into libvhost-user from the virtqueue handler thread and the
vhost-user message processing thread without a lock. There is nothing
protecting the virtqueue handler thread if the vhost-user message
processing thread changes the virtqueue or memory table while it is
running.

This patch introduces a read-write lock. Virtqueue handler threads are
readers. The vhost-user message processing thread is a writer. This
will allow concurrency for multiqueue in the future while protecting
against fv_queue_thread() vs virtio_loop() races.

Note that the critical sections could be made smaller but it would be
more invasive and require libvhost-user changes. Let's start simple and
improve performance later, if necessary. Another option would be an
RCU-style approach with lighter-weight primitives.

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

show more ...

12345678910>>...12