mmotm 2021-05-12-21-46 uploaded (arch/x86/mm/pgtable.c)

Naresh Kamboju naresh.kamboju at linaro.org
Fri May 14 02:45:41 PDT 2021


On Fri, 14 May 2021 at 02:38, Randy Dunlap <rdunlap at infradead.org> wrote:
>
> On 5/13/21 1:47 PM, Andrew Morton wrote:
> > On Thu, 13 May 2021 19:09:23 +0200 Christophe Leroy <christophe.leroy at csgroup.eu> wrote:
> >
> >>
> >>
> >>> on i386:
> >>>
> >>> ../arch/x86/mm/pgtable.c:703:5: error: redefinition of ‘pud_set_huge’
> >>>   int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
> >>>       ^~~~~~~~~~~~
> >>> In file included from ../include/linux/mm.h:33:0,
> >>>                   from ../arch/x86/mm/pgtable.c:2:
> >>> ../include/linux/pgtable.h:1387:19: note: previous definition of ‘pud_set_huge’ was here
> >>>   static inline int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
> >>>                     ^~~~~~~~~~~~
> >>> ../arch/x86/mm/pgtable.c:758:5: error: redefinition of ‘pud_clear_huge’
> >>>   int pud_clear_huge(pud_t *pud)
> >>>       ^~~~~~~~~~~~~~
> >>> In file included from ../include/linux/mm.h:33:0,
> >>>                   from ../arch/x86/mm/pgtable.c:2:
> >>> ../include/linux/pgtable.h:1391:19: note: previous definition of ‘pud_clear_huge’ was here
> >>>   static inline int pud_clear_huge(pud_t *pud)

These errors are noticed on linux next 20210514 tag on arm64.
Regressions found on arm64 for the following configs.

  - build/gcc-9-defconfig-904271f2
  - build/gcc-9-tinyconfig
  - build/gcc-8-allnoconfig
  - build/gcc-10-allnoconfig
  - build/clang-11-allnoconfig
  - build/clang-10-allnoconfig
  - build/clang-12-tinyconfig
  - build/gcc-10-tinyconfig
  - build/clang-10-tinyconfig
  - build/clang-11-tinyconfig
  - build/clang-12-allnoconfig
  - build/gcc-8-tinyconfig
  - build/gcc-9-allnoconfig

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/current ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu- 'CC=sccache aarch64-linux-gnu-gcc'
'HOSTCC=sccache gcc'
/builds/linux/arch/arm64/mm/mmu.c:1341:5: error: redefinition of 'pud_set_huge'
 1341 | int pud_set_huge(pud_t *pudp, phys_addr_t phys, pgprot_t prot)
      |     ^~~~~~~~~~~~
In file included from /builds/linux/include/linux/mm.h:33,
                 from /builds/linux/include/linux/pid_namespace.h:7,
                 from /builds/linux/include/linux/ptrace.h:10,
                 from /builds/linux/include/linux/elfcore.h:11,
                 from /builds/linux/include/linux/crash_core.h:6,
                 from /builds/linux/include/linux/kexec.h:18,
                 from /builds/linux/arch/arm64/mm/mmu.c:15:
/builds/linux/include/linux/pgtable.h:1387:19: note: previous
definition of 'pud_set_huge' was here
 1387 | static inline int pud_set_huge(pud_t *pud, phys_addr_t addr,
pgprot_t prot)
      |                   ^~~~~~~~~~~~
/builds/linux/arch/arm64/mm/mmu.c:1369:5: error: redefinition of
'pud_clear_huge'
 1369 | int pud_clear_huge(pud_t *pudp)
      |     ^~~~~~~~~~~~~~
In file included from /builds/linux/include/linux/mm.h:33,
                 from /builds/linux/include/linux/pid_namespace.h:7,
                 from /builds/linux/include/linux/ptrace.h:10,
                 from /builds/linux/include/linux/elfcore.h:11,
                 from /builds/linux/include/linux/crash_core.h:6,
                 from /builds/linux/include/linux/kexec.h:18,
                 from /builds/linux/arch/arm64/mm/mmu.c:15:
/builds/linux/include/linux/pgtable.h:1391:19: note: previous
definition of 'pud_clear_huge' was here
 1391 | static inline int pud_clear_huge(pud_t *pud)
      |                   ^~~~~~~~~~~~~~
make[3]: *** [/builds/linux/scripts/Makefile.build:273:
arch/arm64/mm/mmu.o] Error 1


Reported-by: Naresh Kamboju <naresh.kamboju at linaro.org>


Steps to reproduce:
---------------------------

#!/bin/sh

# 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 arm64 --toolchain gcc-9
--kconfig tinyconfig


--
Linaro LKFT
https://lkft.linaro.org



More information about the linux-arm-kernel mailing list