lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <875y1n2bix.fsf@li-e15d104c-2135-11b2-a85c-d7ef17e56be6.ibm.com>
Date:   Mon, 27 Nov 2023 14:20:54 -0600
From:   Nathan Lynch <nathanl@...ux.ibm.com>
To:     Naresh Kamboju <naresh.kamboju@...aro.org>,
        linuxppc-dev <linuxppc-dev@...ts.ozlabs.org>,
        lkft-triage@...ts.linaro.org,
        clang-built-linux <llvm@...ts.linux.dev>,
        regressions@...ts.linux.dev,
        open list <linux-kernel@...r.kernel.org>
Cc:     Benjamin Gray <bgray@...ux.ibm.com>, Arnd Bergmann <arnd@...db.de>,
        Nathan Chancellor <nathan@...nel.org>,
        Anders Roxell <anders.roxell@...aro.org>,
        Dan Carpenter <dan.carpenter@...aro.org>
Subject: Re: Powerpc: maple_defconfig: kernel/rtas_pci.c:46:5: error: no
 previous prototype for function 'rtas_read_config'
 [-Werror,-Wmissing-prototypes]

Naresh Kamboju <naresh.kamboju@...aro.org> writes:
> Following Powerpc maple_defconfig and other builds failed with gcc-13 / 8
> and clang toolchains on Linux next-20231127 tag.
>
>   build:
>     * gcc-8-cell_defconfig
>     * gcc-8-maple_defconfig
>     * gcc-8-tinyconfig
>     * gcc-13-tinyconfig
>     * gcc-13-cell_defconfig
>     * gcc-13-maple_defconfig
>     * clang-17-cell_defconfig
>     * clang-17-tinyconfig
>     * clang-17-maple_defconfig
>     * clang-nightly-cell_defconfig
>     * clang-nightly-maple_defconfig
>     * clang-nightly-tinyconfig
>
> Reported-by: Linux Kernel Functional Testing <lkft@...aro.org>
>
> Build logs:
> -----------
> arch/powerpc/kernel/rtas_pci.c:46:5: error: no previous prototype for
> function 'rtas_read_config' [-Werror,-Wmissing-prototypes]
>    46 | int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val)
>       |     ^
> arch/powerpc/kernel/rtas_pci.c:46:1: note: declare 'static' if the
> function is not intended to be used outside of this translation unit
>    46 | int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val)
>       | ^
>       | static
> arch/powerpc/kernel/rtas_pci.c:98:5: error: no previous prototype for
> function 'rtas_write_config' [-Werror,-Wmissing-prototypes]
>    98 | int rtas_write_config(struct pci_dn *pdn, int where, int size, u32 val)
>       |     ^
> arch/powerpc/kernel/rtas_pci.c:98:1: note: declare 'static' if the
> function is not intended to be used outside of this translation unit
>    98 | int rtas_write_config(struct pci_dn *pdn, int where, int size, u32 val)
>       | ^
>       | static
> 2 errors generated.
> make[5]: *** [scripts/Makefile.build:243:
> arch/powerpc/kernel/rtas_pci.o] Error 1

This appears to be a latent issue in this code... the prototypes for
rtas_read_config() and rtas_write_config() in asm/ppc-pci.h are guarded
by #ifdef CONFIG_EEH for some reason. So I would expect this to happen
whenever it is built with CONFIG_EEH disabled and -Wmissing-prototypes.

So I guess it's fallout from commit c6345dfa6e3e ("Makefile.extrawarn:
turn on missing-prototypes globally").

Unfortunately the resolution isn't as simple as moving the prototypes
out of the CONFIG_EEH-guarded region, but I think I'll have a fix for
this later today.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ