2021-02-02 22:26:15

by Naresh Kamboju

[permalink] [raw]
Subject: [next] mm/gup.c:96:10: error: implicit declaration of function 'is_zero_pfn' [-Werror,-Wimplicit-function-declaration]

Linux next tag 20210202 arm, riscv and sh builds with allnoconfig and
tinyconfig failed due to build errors.


make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=arm
CROSS_COMPILE=arm-linux-gnueabihf- 'HOSTCC=sccache clang' 'CC=sccache
clang' zImage
mm/gup.c:96:10: error: implicit declaration of function 'is_zero_pfn'
[-Werror,-Wimplicit-function-declaration]
!is_pinnable_page(page)))
^
include/linux/mm.h:1133:3: note: expanded from macro 'is_pinnable_page'
is_zero_pfn(page_to_pfn(page)))
^
mm/gup.c:96:10: note: did you mean 'is_zero_ino'?
include/linux/mm.h:1133:3: note: expanded from macro 'is_pinnable_page'
is_zero_pfn(page_to_pfn(page)))
^
include/linux/fs.h:3045:20: note: 'is_zero_ino' declared here
static inline bool is_zero_ino(ino_t ino)
^
1 error generated.

Reported-by: Naresh Kamboju <[email protected]>

steps to reproduce:
--------------------------
# TuxMake is a command line tool and Python library that provides
# portable and repeatable Linux kernel builds across a variety of
# architectures, toolchains, kernel configurations, and make targets.
#
# TuxMake supports the concept of runtimes.
# See https://docs.tuxmake.org/runtimes/, for that to work it requires
# that you install podman or docker on your system.
#
# To install tuxmake on your system globally:
# sudo pip3 install -U tuxmake
#
# See https://docs.tuxmake.org/ for complete documentation.

tuxmake --runtime podman --target-arch arm --toolchain clang-11
--kconfig allnoconfig

build details:
https://builds.tuxbuild.com/1nv9wkY1T8wug0sEw2kwuFKLxhK/

Regressions found on sh:

- build/gcc-10-allnoconfig
- build/gcc-9-tinyconfig
- build/gcc-8-allnoconfig
- build/gcc-10-tinyconfig
- build/gcc-9-allnoconfig
- build/gcc-8-tinyconfig

Regressions found on riscv:

- build/gcc-10-allnoconfig
- build/clang-11-tinyconfig
- build/clang-10-allnoconfig
- build/clang-11-allnoconfig
- build/gcc-9-tinyconfig
- build/gcc-8-allnoconfig
- build/gcc-10-tinyconfig
- build/clang-10-tinyconfig
- build/gcc-9-allnoconfig
- build/gcc-8-tinyconfig

Regressions found on arm:

- build/gcc-10-allnoconfig
- build/clang-11-tinyconfig
- build/clang-10-allnoconfig
- build/clang-11-allnoconfig
- build/gcc-9-tinyconfig
- build/gcc-8-allnoconfig
- build/gcc-10-tinyconfig
- build/clang-10-tinyconfig
- build/gcc-9-allnoconfig
- build/gcc-8-tinyconfig


- Naresh


2021-02-02 22:33:06

by Pasha Tatashin

[permalink] [raw]
Subject: Re: [next] mm/gup.c:96:10: error: implicit declaration of function 'is_zero_pfn' [-Werror,-Wimplicit-function-declaration]

The same problem as fixed here:
https://lore.kernel.org/linux-mm/CA+CK2bBjC8=cRsL5VhWkcevPsqSXWhsANVjsFNMERLT8vWtiQw@mail.gmail.com/

Thank you,
Pasha

On Tue, Feb 2, 2021 at 9:32 AM Naresh Kamboju <[email protected]> wrote:
>
> Linux next tag 20210202 arm, riscv and sh builds with allnoconfig and
> tinyconfig failed due to build errors.
>
>
> make --silent --keep-going --jobs=8
> O=/home/tuxbuild/.cache/tuxmake/builds/1/tmp ARCH=arm
> CROSS_COMPILE=arm-linux-gnueabihf- 'HOSTCC=sccache clang' 'CC=sccache
> clang' zImage
> mm/gup.c:96:10: error: implicit declaration of function 'is_zero_pfn'
> [-Werror,-Wimplicit-function-declaration]
> !is_pinnable_page(page)))
> ^
> include/linux/mm.h:1133:3: note: expanded from macro 'is_pinnable_page'
> is_zero_pfn(page_to_pfn(page)))
> ^
> mm/gup.c:96:10: note: did you mean 'is_zero_ino'?
> include/linux/mm.h:1133:3: note: expanded from macro 'is_pinnable_page'
> is_zero_pfn(page_to_pfn(page)))
> ^
> include/linux/fs.h:3045:20: note: 'is_zero_ino' declared here
> static inline bool is_zero_ino(ino_t ino)
> ^
> 1 error generated.
>
> Reported-by: Naresh Kamboju <[email protected]>
>
> steps to reproduce:
> --------------------------
> # TuxMake is a command line tool and Python library that provides
> # portable and repeatable Linux kernel builds across a variety of
> # architectures, toolchains, kernel configurations, and make targets.
> #
> # TuxMake supports the concept of runtimes.
> # See https://docs.tuxmake.org/runtimes/, for that to work it requires
> # that you install podman or docker on your system.
> #
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
> #
> # See https://docs.tuxmake.org/ for complete documentation.
>
> tuxmake --runtime podman --target-arch arm --toolchain clang-11
> --kconfig allnoconfig
>
> build details:
> https://builds.tuxbuild.com/1nv9wkY1T8wug0sEw2kwuFKLxhK/
>
> Regressions found on sh:
>
> - build/gcc-10-allnoconfig
> - build/gcc-9-tinyconfig
> - build/gcc-8-allnoconfig
> - build/gcc-10-tinyconfig
> - build/gcc-9-allnoconfig
> - build/gcc-8-tinyconfig
>
> Regressions found on riscv:
>
> - build/gcc-10-allnoconfig
> - build/clang-11-tinyconfig
> - build/clang-10-allnoconfig
> - build/clang-11-allnoconfig
> - build/gcc-9-tinyconfig
> - build/gcc-8-allnoconfig
> - build/gcc-10-tinyconfig
> - build/clang-10-tinyconfig
> - build/gcc-9-allnoconfig
> - build/gcc-8-tinyconfig
>
> Regressions found on arm:
>
> - build/gcc-10-allnoconfig
> - build/clang-11-tinyconfig
> - build/clang-10-allnoconfig
> - build/clang-11-allnoconfig
> - build/gcc-9-tinyconfig
> - build/gcc-8-allnoconfig
> - build/gcc-10-tinyconfig
> - build/clang-10-tinyconfig
> - build/gcc-9-allnoconfig
> - build/gcc-8-tinyconfig
>
>
> - Naresh

2021-02-04 00:59:14

by Andrew Morton

[permalink] [raw]
Subject: Re: [next] mm/gup.c:96:10: error: implicit declaration of function 'is_zero_pfn' [-Werror,-Wimplicit-function-declaration]

On Tue, 2 Feb 2021 10:03:47 -0500 Pavel Tatashin <[email protected]> wrote:

> The same problem as fixed here:
> https://lore.kernel.org/linux-mm/CA+CK2bBjC8=cRsL5VhWkcevPsqSXWhsANVjsFNMERLT8vWtiQw@mail.gmail.com/
>

We're seeing a number of build errors from this series, all of them
confusing.

I'll drop this version. Please ensure that the various build errors
(including
https://lkml.kernel.org/r/[email protected])
are resolved after applying each patch, so we don't create bisection
holes.