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

From: Davidlohr Bueso
Date: Sun May 15 2022 - 17:36:46 EST


Hello - What is the status of this? Currently gcc 12 (tumbleweed) is unable to
build Linus' latest because of splats in the scheduler headers...

Thanks,
Davidlohr

On Thu, 14 Apr 2022, Christophe de Dinechin wrote:

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