qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Help wanted for enabling -Wshadow=local


From: Markus Armbruster
Subject: Help wanted for enabling -Wshadow=local
Date: Fri, 22 Sep 2023 11:37:46 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

If you are in To:, we need your help to enable -Wshadow=local.

Local variables shadowing other local variables or parameters make the
code needlessly hard to understand.  Bugs love to hide in such code.
Evidence: "[PATCH v3 1/7] migration/rdma: Fix save_page method to fail
on polling error".

Enabling -Wshadow would prevent bugs like this one.  But we have to
clean up all the offenders first.

I collected the patches posted so far:

    [PATCH v3 0/7] Steps towards enabling -Wshadow=local
    Message-ID: <20230921121312.1301864-1-armbru@redhat.com>

    [PATCH v2 00/22] (few more) Steps towards enabling -Wshadow
    Message-ID: <20230904161235.84651-1-philmd@linaro.org>

    [PATCH 0/3] (few more) Steps towards enabling -Wshadow [3 more]
    Message-ID: <20230904162824.85385-1-philmd@linaro.org>

    [PATCH 0/8] ppc: Clean up local variable shadowing
    Message-ID: <20230918145850.241074-1-clg@kaod.org>

Thanks, Philippe & Cedric!

In my local build with -Wshadow=local, warnings remain in just 56 files.

Sorted by subsystems, files covered by multiple subsystems marked
"(*NUMBER*)", files not covered in MAINTAINERS marked (*guess*):

Guest CPU cores (TCG)
---------------------
ARM TCG CPUs
M: Peter Maydell <peter.maydell@linaro.org>
    hw/arm/smmuv3-internal.h(*2*)
    hw/arm/smmuv3.c(*2*)

ARM SMMU
M: Eric Auger <eric.auger@redhat.com>
    hw/arm/smmuv3-internal.h(*2*)
    hw/arm/smmuv3.c(*2*)

Hexagon TCG CPUs
M: Brian Cain <bcain@quicinc.com>
    target/hexagon/gen_helper_funcs.py
    target/hexagon/mmvec/macros.h
    target/hexagon/op_helper.c
    target/hexagon/translate.c

M68K TCG CPUs
M: Laurent Vivier <laurent@vivier.eu>
    disas/m68k.c

PowerPC TCG CPUs
M: Nicholas Piggin <npiggin@gmail.com>
M: Daniel Henrique Barboza <danielhb413@gmail.com>
R: Cédric Le Goater <clg@kaod.org>
    target/ppc/int_helper.c

RISC-V TCG CPUs
    hw/riscv/opentitan.c(*2*)
    target/riscv/cpu.c
    target/riscv/vector_helper.c

X86 TCG CPUs
M: Paolo Bonzini <pbonzini@redhat.com>
M: Richard Henderson <richard.henderson@linaro.org>
M: Eduardo Habkost <eduardo@habkost.net>
    hw/i386/acpi-build.c(*3*)
    hw/i386/acpi-microvm.c(*2*)
    hw/i386/intel_iommu.c(*3*)
    hw/i386/pc.c(*2*)
    hw/i386/x86.c(*2*)
    target/i386/cpu.c(*guess*)
    target/i386/tcg/seg_helper.c
    target/i386/tcg/sysemu/svm_helper.c
    target/i386/tcg/translate.c

Guest CPU Cores (KVM)
---------------------
X86 KVM CPUs
M: Paolo Bonzini <pbonzini@redhat.com>
M: Marcelo Tosatti <mtosatti@redhat.com>
    target/i386/kvm/kvm.c

ARM Machines
------------
ARM cores
M: Peter Maydell <peter.maydell@linaro.org>
    hw/intc/arm_gicv3_its.c

Versatile PB
M: Peter Maydell <peter.maydell@linaro.org>
    hw/misc/arm_sysctl.c

ASPEED BMCs
M: Cédric Le Goater <clg@kaod.org>
M: Peter Maydell <peter.maydell@linaro.org>
R: Andrew Jeffery <andrew@aj.id.au>
R: Joel Stanley <joel@jms.id.au>
    hw/i2c/aspeed_i2c.c
    hw/misc/aspeed_i3c.c

LoongArch Machines
------------------
Virt
M: Xiaojuan Yang <yangxiaojuan@loongson.cn>
M: Song Gao <gaosong@loongson.cn>
    hw/loongarch/virt.c

RISC-V Machines
---------------
OpenTitan
M: Alistair Francis <Alistair.Francis@wdc.com>
    hw/riscv/opentitan.c(*2*)

X86 Machines
------------
PC
M: Michael S. Tsirkin <mst@redhat.com>
M: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
    hw/i386/acpi-build.c(*3*)
    hw/i386/acpi-microvm.c(*2*)
    hw/i386/intel_iommu.c(*3*)
    hw/i386/pc.c(*2*)
    hw/i386/x86.c(*2*)

PC Chipset
M: Michael S. Tsirkin <mst@redhat.com>
M: Paolo Bonzini <pbonzini@redhat.com>
    hw/i2c/pm_smbus.c

Devices
-------
ACPI/SMBIOS
M: Michael S. Tsirkin <mst@redhat.com>
M: Igor Mammedov <imammedo@redhat.com>
R: Ani Sinha <anisinha@redhat.com>
    hw/acpi/cpu_hotplug.c
    hw/i386/acpi-build.c(*3*)
    hw/smbios/smbios.c

Network devices
M: Jason Wang <jasowang@redhat.com>
    hw/net/vhost_net.c(*2*)

SCSI
M: Paolo Bonzini <pbonzini@redhat.com>
R: Fam Zheng <fam@euphon.net>
    hw/scsi/mptsas.c

USB
M: Gerd Hoffmann <kraxel@redhat.com>
    hw/usb/desc.c
    hw/usb/dev-hub.c
    hw/usb/dev-storage.c
    hw/usb/hcd-xhci.c
    hw/usb/host-libusb.c

vhost
M: Michael S. Tsirkin <mst@redhat.com>
    contrib/vhost-user-gpu/vhost-user-gpu.c(*2*)
    contrib/vhost-user-gpu/vugpu.h(*2*)
    hw/net/vhost_net.c(*2*)
    hw/virtio/vhost.c

virtio
M: Michael S. Tsirkin <mst@redhat.com>
    hw/virtio/virtio-pci.c
    include/hw/virtio/virtio-gpu.h(*2*)

nvme
M: Keith Busch <kbusch@kernel.org>
M: Klaus Jensen <its@irrelevant.dk>
    hw/nvme/ns.c

virtio-gpu
M: Gerd Hoffmann <kraxel@redhat.com>
    include/hw/virtio/virtio-gpu.h(*2*)

vhost-user-gpu
M: Marc-André Lureau <marcandre.lureau@redhat.com>
R: Gerd Hoffmann <kraxel@redhat.com>
    contrib/vhost-user-gpu/vhost-user-gpu.c(*2*)
    contrib/vhost-user-gpu/vugpu.h(*2*)

Subsystems
----------
Overall Audio backends
M: Gerd Hoffmann <kraxel@redhat.com>
M: Marc-André Lureau <marcandre.lureau@redhat.com>
    audio/audio.c

Open Sound System (OSS) Audio backend
M: Gerd Hoffmann <kraxel@redhat.com>
    audio/ossaudio.c

Compute Express Link
M: Jonathan Cameron <jonathan.cameron@huawei.com>
R: Fan Ni <fan.ni@samsung.com>
    include/hw/cxl/cxl_device.h

Device Tree
M: Alistair Francis <alistair.francis@wdc.com>
R: David Gibson <david@gibson.dropbear.id.au>
    softmmu/device_tree.c

Dump
M: Marc-André Lureau <marcandre.lureau@redhat.com>
    dump/dump.c

Main loop
M: Paolo Bonzini <pbonzini@redhat.com>
    softmmu/vl.c

qtest
M: Thomas Huth <thuth@redhat.com>
M: Laurent Vivier <lvivier@redhat.com>
R: Paolo Bonzini <pbonzini@redhat.com>
    tests/qtest/m48t59-test.c

Seccomp
M: Daniel P. Berrange <berrange@redhat.com>
    softmmu/qemu-seccomp.c

Cryptography
M: Daniel P. Berrange <berrange@redhat.com>
    crypto/tls-cipher-suites.c

Throttling infrastructure
M: Alberto Garcia <berto@igalia.com>
    tests/unit/test-throttle.c

VT-d Emulation
M: Michael S. Tsirkin <mst@redhat.com>
M: Peter Xu <peterx@redhat.com>
R: Jason Wang <jasowang@redhat.com>
    hw/i386/intel_iommu.c(*3*)

Usermode Emulation
------------------
Linux user
M: Laurent Vivier <laurent@vivier.eu>
    linux-user/flatload.c
    linux-user/mmap.c
    linux-user/syscall.c

Block drivers
-------------
Network Block Device (NBD)
M: Eric Blake <eblake@redhat.com>
M: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    qemu-nbd.c




reply via email to

[Prev in Thread] Current Thread [Next in Thread]