Re: [PATCH 00/15] arm64: address -Wmissing-prototype warnings

From: Ard Biesheuvel
Date: Tue May 16 2023 - 13:17:25 EST


On Tue, 16 May 2023 at 18:06, Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> This addresses all arm64 specific protype warnings. As with the arm32
> patches, the majority of them should be straightforward, either adding
> an #include statement to get the right header, or ensuring that an unused
> global function is left out of the build when the prototype is hidden.
>
> The ones that are a bit awkward are those that just add a prototype to
> shut up the warning, but the prototypes are never used for calling the
> function because the only caller is in assembler code. I tried to come
> up with other ways to shut up the compiler, and ideally this would be
> triggered by the 'asmlinkage' keyword as Ard suggested in the past, but
> I could not come up with a way to do this.
>
> All of the warnings have to be addressed in some form before the
> warning can be enabled by default.
>
> Arnd
>
> Link: https://people.kernel.org/arnd/missing-prototype-warnings-in-the-kernel
>

For the record, as I mentioned a while ago, I think it is a bit
disappointing that we cannot teach the compiler that 'asmlinkage'
functions don't need a prototype. But I don't have any objections to
these changes, so

Acked-by: Ard Biesheuvel <ardb@xxxxxxxxxx>

>
> Arnd Bergmann (15):
> arm64: xor-neon: mark xor_arm64_neon_*() static
> arm64: add scs_patch_vmlinux prototype
> arm64: avoid prototype warnings for syscalls
> arm64: move cpu_suspend_set_dbg_restorer() prototype to header
> arm64: spectre: provide prototypes for internal functions
> arm64: kvm: add prototypes for functions called in asm
> arm64: cpuidle: fix #ifdef for acpi functions
> arm64: efi: add efi_handle_corrupted_x18 prototype
> arm64: hide unused is_valid_bugaddr()
> arm64: module-plts: inline linux/moduleloader.h
> arm64: flush: include linux/libnvdimm.h
> arm64: kaslr: add kaslr_early_init() declaration
> arm64: signal: include asm/exception.h
> arm64: move early_brk64 prototype to header
> arm64: add alt_cb_patch_nops prototype
>
> arch/arm64/include/asm/alternative.h | 3 +++
> arch/arm64/include/asm/archrandom.h | 2 ++
> arch/arm64/include/asm/compat.h | 2 ++
> arch/arm64/include/asm/efi.h | 2 ++
> arch/arm64/include/asm/hw_breakpoint.h | 8 ++++++++
> arch/arm64/include/asm/kvm_asm.h | 18 ++++++++++++++++++
> arch/arm64/include/asm/scs.h | 1 +
> arch/arm64/include/asm/spectre.h | 16 ++++++++++++++++
> arch/arm64/include/asm/syscall_wrapper.h | 4 ++++
> arch/arm64/include/asm/traps.h | 2 ++
> arch/arm64/kernel/cpuidle.c | 2 +-
> arch/arm64/kernel/hw_breakpoint.c | 8 --------
> arch/arm64/kernel/module-plts.c | 1 +
> arch/arm64/kernel/signal.c | 1 +
> arch/arm64/kernel/traps.c | 3 ++-
> arch/arm64/lib/xor-neon.c | 8 ++++----
> arch/arm64/mm/fault.c | 3 ---
> arch/arm64/mm/flush.c | 1 +
> 18 files changed, 68 insertions(+), 17 deletions(-)
>
> --
> 2.39.2
>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: Marc Zyngier <maz@xxxxxxxxxx>
> Cc: Oliver Upton <oliver.upton@xxxxxxxxx>
> Cc: James Morse <james.morse@xxxxxxx>
> Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
> Cc: Zenghui Yu <yuzenghui@xxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Anshuman Khandual <anshuman.khandual@xxxxxxx>
> Cc: Kees Cook <keescook@xxxxxxxxxxxx>
> Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: linux-efi@xxxxxxxxxxxxxxx
> Cc: kvmarm@xxxxxxxxxxxxxxx
>