[PATCH 0/3] trivial: Fix several compilation errors/warnings with GCC12

From: Christophe de Dinechin
Date: Thu Apr 14 2022 - 11:46:22 EST


Compiling with GCC 12 using defconfig generates a number of build errors
due to new warnings, notably array-bounds checks. Some of these warnings appear
legitimate and relatively easy to fix.

Note that this series is not sufficient for a clean build yet. There are
in particular a number of warnings reported by the array-bounds check
that appear bogus, like:

| In function ‘__native_read_cr3’,
| inlined from ‘__read_cr3’
| at ./arch/x86/include/asm/special_insns.h:169:9,
| inlined from ‘read_cr3_pa’
| at ./arch/x86/include/asm/processor.h:252:9,
| inlined from ‘relocate_restore_code’
| at arch/x86/power/hibernate.c:165:17:
| ./arch/x86/include/asm/special_insns.h:48:9: error:
| array subscript 0 is outside array bounds of ‘unsigned int[0]’
| [-Werror=array-bounds]
| 48 | asm volatile("mov %%cr3,%0\n\t" : "=r" (val) : __FORCE_ORDER);
| | ^~~
| cc1: all warnings being treated as errors

The error above is for an instruction that does not obviously address any
C array, in particular since the asm constraint is "=r" and not "=rm".

Consequently, the series here only addresses a few low hanging fruits that
appear legitimate and relatively easy to fix.

Christophe de Dinechin (3):
sched/headers: Fix compilation error with GCC 12
nodemask.h: Fix compilation error with GCC12
virtio-pci: Use cpumask_available to fix compilation error

drivers/virtio/virtio_pci_common.c | 2 +-
include/linux/nodemask.h | 13 ++++++-------
kernel/sched/sched.h | 11 +++++++++--
3 files changed, 16 insertions(+), 10 deletions(-)

--
2.35.1