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

Ard Biesheuvel ardb at kernel.org
Tue May 16 10:17:07 PDT 2023


On Tue, 16 May 2023 at 18:06, Arnd Bergmann <arnd at kernel.org> wrote:
>
> From: Arnd Bergmann <arnd at arndb.de>
>
> 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 at kernel.org>

>
> 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 at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Ard Biesheuvel <ardb at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: Marc Zyngier <maz at kernel.org>
> Cc: Oliver Upton <oliver.upton at linux.dev>
> Cc: James Morse <james.morse at arm.com>
> Cc: Suzuki K Poulose <suzuki.poulose at arm.com>
> Cc: Zenghui Yu <yuzenghui at huawei.com>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: Anshuman Khandual <anshuman.khandual at arm.com>
> Cc: Kees Cook <keescook at chromium.org>
> Cc: Suren Baghdasaryan <surenb at google.com>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
> Cc: linux-efi at vger.kernel.org
> Cc: kvmarm at lists.linux.dev
>



More information about the linux-arm-kernel mailing list