We have a bunch of headers without multiple inclusion guards.  Some are
clearly intentional, some look accidental.  Too many for me to find out
by examining each of them, so I'm asking their maintainers.

Why do I ask?  I'd like to mark the intentional ones and fix the
accidental ones, so they don't flunk "make check-headers" from "[RFC v4
0/7] Baby steps towards saner headers" just because they lack multiple
inclusion guards.

Just in case: what's a multiple inclusion guard?  It's

    #ifndef UNIQUE_GUARD_SYMBOL_H
    #define UNIQUE_GUARD_SYMBOL_H
    ...
    #endif

with nothing but comments outside the conditional, so that the header
can safely be included more than once.

I append the alphabetical list of headers without multiple inclusion
guards (as reported by scripts/clean-header-guards -nv), followed by the
same list sorted into maintainer buckets.  If you're cc'ed, please find
your bucket(s), and tell me which headers intentionally lack guards.


= Headers without inclusion guards =

accel/tcg/atomic_template.h
accel/tcg/tcg-runtime.h
audio/audio_template.h
audio/dsound_template.h
audio/mixeng_template.h
audio/rate_template.h
bsd-user/bsd-mman.h
bsd-user/errno_defs.h
bsd-user/freebsd/syscall_nr.h
bsd-user/netbsd/syscall_nr.h
bsd-user/openbsd/syscall_nr.h
bsd-user/syscall_defs.h
crypto/ivgen-essiv.h
crypto/ivgen-plain.h
crypto/ivgen-plain64.h
fpu/softfloat-specialize.h
hw/9pfs/xen-9pfs.h
hw/audio/hda-codec-common.h
hw/display/cirrus_vga_rop.h
hw/display/cirrus_vga_rop2.h
hw/display/milkymist-vgafb_template.h
hw/display/omap_lcd_template.h
hw/display/pl110_template.h
hw/display/pxa2xx_template.h
hw/display/sm501_template.h
hw/display/tc6393xb_template.h
hw/display/vga-helpers.h
hw/hppa/hppa_hardware.h
hw/input/adb-internal.h
hw/net/e1000e_core.h
hw/net/e1000x_common.h
hw/net/vmxnet3_defs.h
hw/usb/hcd-xhci.h
hw/usb/quirks-ftdi-ids.h
hw/usb/quirks-pl2303-ids.h
hw/usb/quirks.h
include/exec/cpu_ldst_template.h
include/exec/cpu_ldst_useronly_template.h
include/exec/memory_ldst.inc.h
include/exec/memory_ldst_cached.inc.h
include/exec/memory_ldst_phys.inc.h
include/fpu/softfloat-macros.h
include/hw/arm/allwinner-a10.h
include/hw/arm/omap.h
include/hw/arm/raspi_platform.h
include/hw/arm/xlnx-zynqmp.h
include/hw/char/cadence_uart.h
include/hw/display/xlnx_dp.h
include/hw/dma/xlnx-zynq-devcfg.h
include/hw/elf_ops.h
include/hw/kvm/clock.h
include/hw/m68k/mcf_fec.h
include/hw/mips/bios.h
include/hw/net/cadence_gem.h
include/hw/pci-bridge/simba.h
include/hw/pci/pci_regs.h
include/hw/qdev-dma.h
include/hw/sparc/sparc64.h
include/hw/timer/sun4v-rtc.h
include/hw/timer/xlnx-zynqmp-rtc.h
include/hw/xen/io/ring.h
include/libdecnumber/dconfig.h
include/libdecnumber/decDPD.h
include/libdecnumber/dpd/decimal128Local.h
include/ui/pixel_ops.h
include/ui/spice-display.h
linux-user/aarch64/sockbits.h
linux-user/aarch64/syscall_nr.h
linux-user/aarch64/termbits.h
linux-user/alpha/syscall_nr.h
linux-user/alpha/termbits.h
linux-user/arm/sockbits.h
linux-user/arm/syscall_nr.h
linux-user/arm/termbits.h
linux-user/cris/sockbits.h
linux-user/cris/syscall_nr.h
linux-user/cris/termbits.h
linux-user/errno_defs.h
linux-user/flat.h
linux-user/hppa/sockbits.h
linux-user/hppa/syscall_nr.h
linux-user/hppa/termbits.h
linux-user/i386/sockbits.h
linux-user/i386/syscall_nr.h
linux-user/i386/termbits.h
linux-user/ioctls.h
linux-user/m68k/sockbits.h
linux-user/m68k/syscall_nr.h
linux-user/m68k/termbits.h
linux-user/microblaze/sockbits.h
linux-user/microblaze/syscall_nr.h
linux-user/microblaze/termbits.h
linux-user/mips/syscall_nr.h
linux-user/mips/termbits.h
linux-user/mips64/sockbits.h
linux-user/mips64/syscall_nr.h
linux-user/mips64/target_cpu.h
linux-user/mips64/target_fcntl.h
linux-user/mips64/target_structs.h
linux-user/mips64/termbits.h
linux-user/nios2/sockbits.h
linux-user/nios2/syscall_nr.h
linux-user/nios2/termbits.h
linux-user/openrisc/sockbits.h
linux-user/openrisc/syscall_nr.h
linux-user/openrisc/termbits.h
linux-user/ppc/syscall_nr.h
linux-user/ppc/termbits.h
linux-user/riscv/sockbits.h
linux-user/riscv/syscall_nr.h
linux-user/riscv/target_syscall.h
linux-user/riscv/termbits.h
linux-user/s390x/sockbits.h
linux-user/s390x/syscall_nr.h
linux-user/s390x/termbits.h
linux-user/sh4/sockbits.h
linux-user/sh4/syscall_nr.h
linux-user/sh4/termbits.h
linux-user/socket.h
linux-user/sparc/syscall_nr.h
linux-user/sparc/termbits.h
linux-user/sparc64/sockbits.h
linux-user/sparc64/syscall_nr.h
linux-user/sparc64/target_cpu.h
linux-user/sparc64/target_fcntl.h
linux-user/sparc64/target_signal.h
linux-user/sparc64/termbits.h
linux-user/syscall_types.h
linux-user/target_flat.h
linux-user/tilegx/sockbits.h
linux-user/x86_64/sockbits.h
linux-user/x86_64/syscall_nr.h
linux-user/x86_64/target_cpu.h
linux-user/x86_64/termbits.h
linux-user/xtensa/sockbits.h
linux-user/xtensa/target_flat.h
qemu-options-wrapper.h
scripts/cocci-macro-file.h
target/alpha/helper.h
target/arm/helper-a64.h
target/arm/helper-sve.h
target/arm/helper.h
target/arm/op_addsub.h
target/cris/crisv10-decode.h
target/cris/helper.h
target/cris/mmu.h
target/cris/opcode-cris.h
target/hppa/helper.h
target/i386/cc_helper_template.h
target/i386/helper.h
target/i386/ops_sse.h
target/i386/ops_sse_header.h
target/i386/shift_helper_template.h
target/i386/whp-dispatch.h
target/lm32/helper.h
target/m68k/helper.h
target/microblaze/helper.h
target/microblaze/microblaze-decode.h
target/microblaze/mmu.h
target/mips/helper.h
target/moxie/helper.h
target/moxie/machine.h
target/moxie/mmu.h
target/nios2/helper.h
target/openrisc/helper.h
target/ppc/helper.h
target/riscv/cpu_bits.h
target/riscv/cpu_user.h
target/riscv/helper.h
target/riscv/instmap.h
target/s390x/helper.h
target/sh4/helper.h
target/sparc/helper.h
target/tilegx/helper.h
target/tilegx/spr_def_64.h
target/tricore/helper.h
target/tricore/tricore-opcodes.h
target/unicore32/helper.h
target/xtensa/helper.h
target/xtensa/overlay_tool.h
target/xtensa/xtensa-isa.h
tcg/aarch64/tcg-target.opc.h
tcg/i386/tcg-target.opc.h
tcg/tcg-gvec-desc.h
tcg/tcg-op-gvec.h
tcg/tcg-opc.h
tests/crypto-tls-psk-helpers.h
tests/crypto-tls-x509-helpers.h
tests/io-channel-helpers.h
tests/libqos/virtio-9p.h
tests/libqos/virtio-balloon.h
tests/libqos/virtio-blk.h
tests/libqos/virtio-net.h
tests/libqos/virtio-rng.h
tests/libqos/virtio-scsi.h
tests/libqos/virtio-serial.h
tests/migration/aarch64/a-b-kernel.h
tests/migration/i386/a-b-bootblock.h
tests/migration/s390x/a-b-bios.h
tests/socket-helpers.h
tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h
ui/vgafont.h
ui/vnc-enc-hextile-template.h
ui/vnc_keysym.h


= Sorted into MAINTAINERS buckets =

Guest CPU cores (TCG):
----------------------
Overall
M: Richard Henderson <[email protected]>
R: Paolo Bonzini <[email protected]>
accel/tcg/atomic_template.h
accel/tcg/tcg-runtime.h
include/exec/cpu_ldst_template.h
include/exec/cpu_ldst_useronly_template.h

FPU emulation
M: Aurelien Jarno <[email protected]>
M: Peter Maydell <[email protected]>
M: Alex Bennée <[email protected]>
fpu/softfloat-specialize.h
include/fpu/softfloat-macros.h

Alpha
M: Richard Henderson <[email protected]>

ARM
M: Peter Maydell <[email protected]>
target/arm/helper-a64.h
target/arm/helper-sve.h
target/arm/helper.h
target/arm/op_addsub.h

ARM SMMU
M: Eric Auger <[email protected]>

CRIS
M: Edgar E. Iglesias <[email protected]>
target/cris/crisv10-decode.h
target/cris/helper.h
target/cris/mmu.h
target/cris/opcode-cris.h

HPPA (PA-RISC)
M: Richard Henderson <[email protected]>
target/hppa/helper.h

LM32
M: Michael Walle <[email protected]>
hw/display/milkymist-vgafb_template.h
target/lm32/helper.h

M68K
M: Laurent Vivier <[email protected]>
target/m68k/helper.h

MicroBlaze
M: Edgar E. Iglesias <[email protected]>
target/microblaze/helper.h
target/microblaze/microblaze-decode.h
target/microblaze/mmu.h

MIPS
M: Aurelien Jarno <[email protected]>
M: Aleksandar Markovic <[email protected]>
R: Aleksandar Rikalo <[email protected]>
include/hw/mips/bios.h
target/mips/helper.h

Moxie
M: Anthony Green <[email protected]>
target/moxie/helper.h
target/moxie/machine.h
target/moxie/mmu.h

NiosII
M: Chris Wulff <[email protected]>
M: Marek Vasut <[email protected]>
target/nios2/helper.h

OpenRISC
M: Stafford Horne <[email protected]>
target/openrisc/helper.h

PowerPC
M: David Gibson <[email protected]>
target/ppc/helper.h

RISC-V
M: Palmer Dabbelt <[email protected]>
M: Alistair Francis <[email protected]>
M: Sagar Karandikar <[email protected]>
M: Bastian Koppelmann <[email protected]>
target/riscv/cpu_bits.h
target/riscv/cpu_user.h
target/riscv/helper.h
target/riscv/instmap.h

S390
M: Richard Henderson <[email protected]>
M: David Hildenbrand <[email protected]>
target/s390x/helper.h

SH4
M: Aurelien Jarno <[email protected]>
target/sh4/helper.h

SPARC
M: Mark Cave-Ayland <[email protected]>
M: Artyom Tarasenko <[email protected]>
include/hw/sparc/sparc64.h
target/sparc/helper.h

UniCore32
M: Guan Xuetao <[email protected]>
target/unicore32/helper.h

X86
M: Paolo Bonzini <[email protected]>
M: Richard Henderson <[email protected]>
M: Eduardo Habkost <[email protected]>
target/i386/cc_helper_template.h
target/i386/helper.h
target/i386/ops_sse.h
target/i386/ops_sse_header.h
target/i386/shift_helper_template.h
target/i386/whp-dispatch.h

Xtensa
M: Max Filippov <[email protected]>
target/xtensa/helper.h
target/xtensa/overlay_tool.h
target/xtensa/xtensa-isa.h

TriCore
M: Bastian Koppelmann <[email protected]>
target/tricore/helper.h
target/tricore/tricore-opcodes.h

Multiarch Linux User Tests
M: Alex Bennée <[email protected]>

Guest CPU Cores (KVM):
----------------------

Overall
M: Paolo Bonzini <[email protected]>
include/hw/kvm/clock.h

ARM
M: Peter Maydell <[email protected]>

MIPS
M: James Hogan <[email protected]>
R: Aleksandar Rikalo <[email protected]>

PPC
M: David Gibson <[email protected]>

S390
M: Halil Pasic <[email protected]>
M: Cornelia Huck <[email protected]>
M: Christian Borntraeger <[email protected]>

X86
M: Paolo Bonzini <[email protected]>
M: Marcelo Tosatti <[email protected]>

Guest CPU Cores (Xen):
----------------------

X86
M: Stefano Stabellini <[email protected]>
M: Anthony Perard <[email protected]>
M: Paul Durrant <[email protected]>
include/hw/xen/io/ring.h

ARM Machines
------------
Allwinner-a10
M: Beniamino Galvani <[email protected]>
M: Peter Maydell <[email protected]>
include/hw/arm/allwinner-a10.h

ARM PrimeCell and CMSDK devices
M: Peter Maydell <[email protected]>
hw/display/pl110_template.h

Raspberry Pi
M: Peter Maydell <[email protected]>
R: Andrew Baumann <[email protected]>
R: Philippe Mathieu-Daudé <[email protected]>
include/hw/arm/raspi_platform.h

PXA2XX
M: Andrzej Zaborowski <[email protected]>
M: Peter Maydell <[email protected]>
hw/display/pxa2xx_template.h

Xilinx ZynqMP
M: Alistair Francis <[email protected]>
M: Edgar E. Iglesias <[email protected]>
M: Peter Maydell <[email protected]>
include/hw/arm/xlnx-zynqmp.h
include/hw/display/xlnx_dp.h
include/hw/dma/xlnx-zynq-devcfg.h
include/hw/timer/xlnx-zynqmp-rtc.h

HP-PARISC Machines
------------------
Dino
M: Richard Henderson <[email protected]>
R: Helge Deller <[email protected]>
hw/hppa/hppa_hardware.h

PowerPC Machines
----------------
New World (mac99)
M: Mark Cave-Ayland <[email protected]>
R: David Gibson <[email protected]>
hw/input/adb-internal.h

sam460ex
M: BALATON Zoltan <[email protected]>
hw/display/sm501_template.h

SPARC Machines
--------------
Sun4u
M: Mark Cave-Ayland <[email protected]>
include/hw/pci-bridge/simba.h

Sun4v
M: Artyom Tarasenko <[email protected]>
include/hw/timer/sun4v-rtc.h

Devices
-------

OMAP
M: Peter Maydell <[email protected]>
hw/display/omap_lcd_template.h
include/hw/arm/omap.h

PCI
M: Michael S. Tsirkin <[email protected]>
M: Marcel Apfelbaum <[email protected]>
include/hw/pci/pci_regs.h

Network devices
M: Jason Wang <[email protected]>
hw/net/e1000e_core.h
hw/net/e1000x_common.h
hw/net/vmxnet3_defs.h
include/hw/net/cadence_gem.h

USB
M: Gerd Hoffmann <[email protected]>
hw/usb/hcd-xhci.h
hw/usb/quirks-ftdi-ids.h
hw/usb/quirks-pl2303-ids.h
hw/usb/quirks.h

virtio-9p
M: Greg Kurz <[email protected]>
hw/9pfs/xen-9pfs.h

Vmware
M: Dmitry Fleytman <[email protected]>
hw/net/vmxnet3_defs.h

e1000x
M: Dmitry Fleytman <[email protected]>
hw/net/e1000x_common.h

e1000e
M: Dmitry Fleytman <[email protected]>
hw/net/e1000e_core.h

Cirrus VGA
M: Gerd Hoffmann <[email protected]>
hw/display/cirrus_vga_rop.h
hw/display/cirrus_vga_rop2.h

Subsystems
----------
Audio
M: Gerd Hoffmann <[email protected]>
audio/audio_template.h
audio/dsound_template.h
audio/mixeng_template.h
audio/rate_template.h
hw/audio/hda-codec-common.h

SPICE
M: Gerd Hoffmann <[email protected]>
include/ui/spice-display.h

Graphics
M: Gerd Hoffmann <[email protected]>
include/ui/pixel_ops.h
ui/vgafont.h
ui/vnc-enc-hextile-template.h
ui/vnc_keysym.h

qtest
M: Thomas Huth <[email protected]>
M: Laurent Vivier <[email protected]>
R: Paolo Bonzini <[email protected]>
tests/libqos/virtio-9p.h
tests/libqos/virtio-balloon.h
tests/libqos/virtio-blk.h
tests/libqos/virtio-net.h
tests/libqos/virtio-rng.h
tests/libqos/virtio-scsi.h
tests/libqos/virtio-serial.h

Cryptography
M: Daniel P. Berrange <[email protected]>
crypto/ivgen-essiv.h
crypto/ivgen-plain.h
crypto/ivgen-plain64.h
tests/crypto-tls-psk-helpers.h
tests/crypto-tls-x509-helpers.h

EDK2 Firmware
M: Laszlo Ersek <[email protected]>
M: Philippe Mathieu-Daudé <[email protected]>
tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h

Usermode Emulation
------------------
BSD user
S: Orphan
bsd-user/bsd-mman.h
bsd-user/errno_defs.h
bsd-user/freebsd/syscall_nr.h
bsd-user/netbsd/syscall_nr.h
bsd-user/openbsd/syscall_nr.h
bsd-user/syscall_defs.h

Linux user
M: Riku Voipio <[email protected]>
R: Laurent Vivier <[email protected]>
linux-user/aarch64/sockbits.h
linux-user/aarch64/syscall_nr.h
linux-user/aarch64/termbits.h
linux-user/alpha/syscall_nr.h
linux-user/alpha/termbits.h
linux-user/arm/sockbits.h
linux-user/arm/syscall_nr.h
linux-user/arm/termbits.h
linux-user/cris/sockbits.h
linux-user/cris/syscall_nr.h
linux-user/cris/termbits.h
linux-user/errno_defs.h
linux-user/flat.h
linux-user/hppa/sockbits.h
linux-user/hppa/syscall_nr.h
linux-user/hppa/termbits.h
linux-user/i386/sockbits.h
linux-user/i386/syscall_nr.h
linux-user/i386/termbits.h
linux-user/ioctls.h
linux-user/m68k/sockbits.h
linux-user/m68k/syscall_nr.h
linux-user/m68k/termbits.h
linux-user/microblaze/sockbits.h
linux-user/microblaze/syscall_nr.h
linux-user/microblaze/termbits.h
linux-user/mips/syscall_nr.h
linux-user/mips/termbits.h
linux-user/mips64/sockbits.h
linux-user/mips64/syscall_nr.h
linux-user/mips64/target_cpu.h
linux-user/mips64/target_fcntl.h
linux-user/mips64/target_structs.h
linux-user/mips64/termbits.h
linux-user/nios2/sockbits.h
linux-user/nios2/syscall_nr.h
linux-user/nios2/termbits.h
linux-user/openrisc/sockbits.h
linux-user/openrisc/syscall_nr.h
linux-user/openrisc/termbits.h
linux-user/ppc/syscall_nr.h
linux-user/ppc/termbits.h
linux-user/riscv/sockbits.h
linux-user/riscv/syscall_nr.h
linux-user/riscv/target_syscall.h
linux-user/riscv/termbits.h
linux-user/s390x/sockbits.h
linux-user/s390x/syscall_nr.h
linux-user/s390x/termbits.h
linux-user/sh4/sockbits.h
linux-user/sh4/syscall_nr.h
linux-user/sh4/termbits.h
linux-user/socket.h
linux-user/sparc/syscall_nr.h
linux-user/sparc/termbits.h
linux-user/sparc64/sockbits.h
linux-user/sparc64/syscall_nr.h
linux-user/sparc64/target_cpu.h
linux-user/sparc64/target_fcntl.h
linux-user/sparc64/target_signal.h
linux-user/sparc64/termbits.h
linux-user/syscall_types.h
linux-user/target_flat.h
linux-user/tilegx/sockbits.h
linux-user/x86_64/sockbits.h
linux-user/x86_64/syscall_nr.h
linux-user/x86_64/target_cpu.h
linux-user/x86_64/termbits.h
linux-user/xtensa/sockbits.h
linux-user/xtensa/target_flat.h

Tiny Code Generator (TCG)
-------------------------
Common code
M: Richard Henderson <[email protected]>
tcg/aarch64/tcg-target.opc.h
tcg/tcg-gvec-desc.h
tcg/tcg-op-gvec.h
tcg/tcg-opc.h

AArch64 target
M: Claudio Fontana <[email protected]>
M: Claudio Fontana <[email protected]>
tcg/aarch64/tcg-target.opc.h

i386 target
M: Richard Henderson <[email protected]>
tcg/i386/tcg-target.opc.h

UNMAINTAINED
------------
hw/display/tc6393xb_template.h
include/exec/memory_ldst.inc.h
include/exec/memory_ldst_cached.inc.h
include/exec/memory_ldst_phys.inc.h
include/hw/char/cadence_uart.h
include/hw/elf_ops.h
include/hw/qdev-dma.h
include/libdecnumber/dconfig.h
include/libdecnumber/decDPD.h
include/libdecnumber/dpd/decimal128Local.h
qemu-options-wrapper.h
scripts/cocci-macro-file.h
target/tilegx/helper.h
target/tilegx/spr_def_64.h
tests/io-channel-helpers.h
tests/migration/aarch64/a-b-kernel.h
tests/migration/i386/a-b-bootblock.h
tests/migration/s390x/a-b-bios.h
tests/socket-helpers.h

Reply via email to