On Thu, 21 Aug 2025 at 16:26, Naresh Kamboju naresh.kamboju@linaro.org wrote:
The following build warnings / errors noticed with mips defconfig with clang-20 and gcc-12 toolchains.
Regression Analysis:
- New regression? yes
- Reproducibility? yes
Build regression: next-20250821 cacheflush.h:61:3: error: incompatible pointer types passing 'memdesc_flags_t *' to parameter of type 'volatile unsigned long *' [-Werror,-Wincompatible-pointer-types]
Anders bisected and found this,
# first bad commit: [30f45bf18d55a411f576afe48d50e78a2eef7e23] mm: introduce memdesc_flags_t
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
- mips, build
- clang-nightly-allnoconfig
- clang-nightly-defconfig
- clang-nightly-lkftconfig-hardening
- clang-nightly-lkftconfig-lto-full
- clang-nightly-lkftconfig-lto-thing
- clang-nightly-tinyconfig
- gcc-12-allnoconfig
- gcc-12-ath79_defconfig
- gcc-12-bcm47xx_defconfig
- gcc-12-bcm63xx_defconfig
- gcc-12-cavium_octeon_defconfig
- gcc-12-defconfig
- gcc-12-malta_defconfig
- gcc-12-rt305x_defconfig
- gcc-12-tinyconfig
- gcc-13-lkftconfig-hardening
- gcc-8-allnoconfig
- gcc-8-ath79_defconfig
- gcc-8-bcm47xx_defconfig
- gcc-8-bcm63xx_defconfig
- gcc-8-cavium_octeon_defconfig
- gcc-8-defconfig
- gcc-8-lkftconfig-hardening
- gcc-8-malta_defconfig
- gcc-8-rt305x_defconfig
- gcc-8-tinyconfig
## Build error mips In file included from include/linux/cacheflush.h:5: arch/mips/include/asm/cacheflush.h:61:3: error: incompatible pointer types passing 'memdesc_flags_t *' to parameter of type 'volatile unsigned long *' [-Werror,-Wincompatible-pointer-types] 61 | folio_set_dcache_dirty(folio); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/mips/include/asm/cacheflush.h:42:27: note: expanded from macro 'folio_set_dcache_dirty' 42 | set_bit(PG_dcache_dirty, &(folio)->flags) | ^~~~~~~~~~~~~~~ arch/mips/include/asm/bitops.h:89:70: note: passing argument to parameter 'addr' here 89 | static inline void set_bit(unsigned long nr, volatile unsigned long *addr) | ^
In file included from include/linux/cacheflush.h:5: arch/mips/include/asm/cacheflush.h:70:3: error: incompatible pointer types passing 'memdesc_flags_t *' to parameter of type 'volatile unsigned long *' [-Werror,-Wincompatible-pointer-types] 70 | folio_set_dcache_dirty(page_folio(page)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/mips/include/asm/cacheflush.h:42:27: note: expanded from macro 'folio_set_dcache_dirty' 42 | set_bit(PG_dcache_dirty, &(folio)->flags) | ^~~~~~~~~~~~~~~ arch/mips/include/asm/bitops.h:89:70: note: passing argument to parameter 'addr' here 89 | static inline void set_bit(unsigned long nr, volatile unsigned long *addr) | ^ 2 errors generated.
## Source
- Kernel version: 6.17.0-rc2
- Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
- Git describe: next-20250821
- Git commit: 7fa4d8dc380fbd81a9d702a855c50690c9c6442c
- Architectures: mips
- Toolchains: clang-20 gcc-12
- Kconfigs: defconfig
## Build
- Build log: https://qa-reports.linaro.org/api/testruns/29616797/log_file/
- Build details mips:
https://regressions.linaro.org/lkft/linux-next-master/next-20250821/build/cl...
- Build plan: https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/builds/31aRYnoYJb...
- Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/31aRYnoYJbpEW0zZyTGvO...
- Kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/31aRYnoYJbpEW0zZyTGvO...
-- Linaro LKFT https://lkft.linaro.org
- Naresh