clang: selftests mm pkey_sighandler_tests.c warning duplicate 'inline' declaration specifier [-Wduplicate-decl-specifier]
From: Naresh Kamboju
Date: Mon Jun 16 2025 - 13:33:18 EST
The following build warnings were noticed while building selftests/mm
with clang nightly toolchain for arm64 and x86_64 architectures.
Regressions found on arm64 and x86_64
- Build/clang-nightly-lkftconfig-kselftest
Regression Analysis:
- New regression? Yes
- Reproducibility? Yes
Build regression: selftests mm pkey_sighandler_tests.c warning
duplicate 'inline' declaration specifier [-Wduplicate-decl-specifier]
Build regression: selftests mm mremap_test.c warning pointer
comparison always evaluates to false [-Wtautological-compare]
Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
## Build log
make[4]: Entering directory '/builds/linux/tools/testing/selftests/mm'
/bin/sh ./check_config.sh clang --target=aarch64-linux-gnu
-fintegrated-as -Werror=unknown-warning-option
-Werror=ignored-optimization-argument -Werror=option-ignored
-Werror=unused-command-line-argument --target=aarch64-linux-gnu
-fintegrated-as
CC cow
CC compaction_test
CC gup_longterm
CC gup_test
CC hmm-tests
CC hugetlb-madvise
CC hugetlb-read-hwpoison
CC hugetlb-soft-offline
CC hugepage-mmap
CC hugepage-mremap
CC hugepage-shm
CC hugepage-vmemmap
CC khugepaged
CC madv_populate
CC map_fixed_noreplace
CC map_hugetlb
CC map_populate
CC memfd_secret
CC migration
CC mkdirty
CC mlock-random-test
CC mlock2-tests
CC mrelease_test
CC mremap_dontunmap
CC mremap_test
mremap_test.c:425:31: warning: pointer comparison always evaluates to
false [-Wtautological-compare]
425 | if (addr + c.dest_alignment < addr) {
| ^
1 warning generated.
CC mseal_test
CC on-fault-limit
CC pagemap_ioctl
CC pfnmap
CC thuge-gen
CC transhuge-stress
CC uffd-stress
CC uffd-unit-tests
CC uffd-wp-mremap
CC split_huge_page_test
CC ksm_tests
CC ksm_functional_tests
CC mdwe_test
CC hugetlb_fault_after_madv
CC hugetlb_madv_vs_map
CC hugetlb_dio
CC droppable
CC guard-regions
CC merge
CC protection_keys
CC pkey_sighandler_tests
pkey_sighandler_tests.c:44:15: warning: duplicate 'inline' declaration
specifier [-Wduplicate-decl-specifier]
44 | static inline __always_inline
| ^
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/include/sys/cdefs.h:424:26:
note: expanded from macro '__always_inline'
424 | # define __always_inline __inline __attribute__ ((__always_inline__))
| ^
1 warning generated.
CC va_high_addr_switch
CC virtual_address_range
CC write_to_hugetlbfs
Warning: missing Module.symvers, please have the kernel built first.
page_frag test will be skipped.
make[4]: Leaving directory '/builds/linux/tools/testing/selftests/mm'
## Source
* Kernel version: 6.16.0-rc2
* Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
* Git sha: 050f8ad7b58d9079455af171ac279c4b9b828c11
* Git describe: next-20250616
* Project details:
https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20250616/
* Architectures: arm64, x86_64
* Toolchains: clang nightly
* Kconfigs: selftest/mm/config+defconfig+
## Build arm64
* Build log: https://qa-reports.linaro.org/api/testruns/28765515/log_file/
* Build details:
https://regressions.linaro.org/lkft/linux-next-master/next-20250616/log-parser-build-clang/clang-compiler-pkey_sighandler_tests_c-warning-duplicate-inline-declaration-specifier/
* Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2ya0viPHafKAe0u89drIv5fcwu2/
* Kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/2ya0viPHafKAe0u89drIv5fcwu2/config
## Steps to reproduce on arm64
- tuxmake --runtime podman --target-arch arm64 --toolchain clang-20 \
--kconfig defconfig \
--kconfig-add
https://gitlab.com/Linaro/lkft/kernel-fragments/-/raw/main/netdev.config
\
--kconfig-add
https://gitlab.com/Linaro/lkft/kernel-fragments/-/raw/main/systemd.config
\
--kconfig-add CONFIG_SYN_COOKIES=y \
--kconfig-add CONFIG_SCHEDSTATS=y LLVM=1 LLVM_IAS=1 debugkernel
dtbs dtbs-legacy headers kernel kselftest modules
--
Linaro LKFT
https://lkft.linaro.org