Regression while building S390 with the Linux next-20250616 with gcc-8 the following kernel warnings found.
Regressions found on S390 - build/gcc-8-lkftconfig-allnoconfig - build/gcc-8-lkftconfig-hardening
Regression Analysis: - New regression? Yes - Reproducibility? Yes
First seen on the next-20250616 Good: next-20250613 Bad: next-20250616
Build regression: S390 gcc-8 allnoconfig mm mempool.c In function remove_element
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
## Build errors mm/mempool.c: In function 'remove_element': include/linux/compiler_types.h:497:20: warning: asm operand 0 probably doesn't match constraints #define asm_inline asm __inline ^~~ arch/s390/include/asm/bug.h:12:2: note: in expansion of macro 'asm_inline' asm_inline volatile( \ ^~~~~~~~~~ arch/s390/include/asm/bug.h:43:2: note: in expansion of macro '__EMIT_BUG' __EMIT_BUG("", 0); \ ^~~~~~~~~~ include/asm-generic/bug.h:77:57: note: in expansion of macro 'BUG' #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0) ^~~ mm/mempool.c:149:2: note: in expansion of macro 'BUG_ON' BUG_ON(pool->curr_nr < 0); ^~~~~~ include/linux/compiler_types.h:497:20: error: impossible constraint in 'asm' #define asm_inline asm __inline ^~~
## 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: S390 * Toolchains: gcc-8 * Kconfigs: allnoconfig
## Build S390 * Build log: https://qa-reports.linaro.org/api/testruns/28763376/log_file/ * Build details: https://regressions.linaro.org/lkft/linux-next-master/next-20250616/build/gc... * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2ya0wQbvgatYAbcvC2OTZ... * Kernel config: https://storage.tuxsuite.com/public/linaro/lkft/builds/2ya0wQbvgatYAbcvC2OTZ...
## Steps to reproduce on S390 - tuxmake --runtime podman --target-arch s390 --toolchain gcc-8 --kconfig allnoconfig
-- Linaro LKFT https://lkft.linaro.org
On Mon, 16 Jun 2025 at 17:36, Naresh Kamboju naresh.kamboju@linaro.org wrote:
Regression while building S390 with the Linux next-20250616 with gcc-8 the following kernel warnings found.
Regressions found on S390
- build/gcc-8-lkftconfig-allnoconfig
- build/gcc-8-lkftconfig-hardening
Regression Analysis:
- New regression? Yes
- Reproducibility? Yes
First seen on the next-20250616 Good: next-20250613 Bad: next-20250616
Build regression: S390 gcc-8 allnoconfig mm mempool.c In function remove_element
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
## Build errors mm/mempool.c: In function 'remove_element': include/linux/compiler_types.h:497:20: warning: asm operand 0 probably doesn't match constraints #define asm_inline asm __inline ^~~ arch/s390/include/asm/bug.h:12:2: note: in expansion of macro 'asm_inline' asm_inline volatile( \ ^~~~~~~~~~ arch/s390/include/asm/bug.h:43:2: note: in expansion of macro '__EMIT_BUG' __EMIT_BUG("", 0); \ ^~~~~~~~~~ include/asm-generic/bug.h:77:57: note: in expansion of macro 'BUG' #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0) ^~~ mm/mempool.c:149:2: note: in expansion of macro 'BUG_ON' BUG_ON(pool->curr_nr < 0); ^~~~~~ include/linux/compiler_types.h:497:20: error: impossible constraint in 'asm' #define asm_inline asm __inline ^~~
Anders bisect this build regressions and found,
# first bad commit: [45c79ca947c936085c94b716be92eaf9a1bdc8bb] bugs/s390: Use 'cond_str' in __EMIT_BUG()
## 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: S390
- Toolchains: gcc-8
- Kconfigs: allnoconfig
## Build S390
- Build log: https://qa-reports.linaro.org/api/testruns/28763376/log_file/
- Build details:
https://regressions.linaro.org/lkft/linux-next-master/next-20250616/build/gc...
- Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2ya0wQbvgatYAbcvC2OTZ...
- Kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/2ya0wQbvgatYAbcvC2OTZ...
## Steps to reproduce on S390
- tuxmake --runtime podman --target-arch s390 --toolchain gcc-8
--kconfig allnoconfig
-- Linaro LKFT https://lkft.linaro.org
- Naresh
On Mon, Jun 16, 2025 at 07:06:10PM +0530, Naresh Kamboju wrote:
On Mon, 16 Jun 2025 at 17:36, Naresh Kamboju naresh.kamboju@linaro.org wrote:
Regression while building S390 with the Linux next-20250616 with gcc-8 the following kernel warnings found.
Regressions found on S390
- build/gcc-8-lkftconfig-allnoconfig
- build/gcc-8-lkftconfig-hardening
Regression Analysis:
- New regression? Yes
- Reproducibility? Yes
First seen on the next-20250616 Good: next-20250613 Bad: next-20250616
Build regression: S390 gcc-8 allnoconfig mm mempool.c In function remove_element
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
## Build errors mm/mempool.c: In function 'remove_element': include/linux/compiler_types.h:497:20: warning: asm operand 0 probably doesn't match constraints #define asm_inline asm __inline ^~~ arch/s390/include/asm/bug.h:12:2: note: in expansion of macro 'asm_inline' asm_inline volatile( \ ^~~~~~~~~~ arch/s390/include/asm/bug.h:43:2: note: in expansion of macro '__EMIT_BUG' __EMIT_BUG("", 0); \ ^~~~~~~~~~ include/asm-generic/bug.h:77:57: note: in expansion of macro 'BUG' #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0) ^~~ mm/mempool.c:149:2: note: in expansion of macro 'BUG_ON' BUG_ON(pool->curr_nr < 0); ^~~~~~ include/linux/compiler_types.h:497:20: error: impossible constraint in 'asm' #define asm_inline asm __inline ^~~
Anders bisect this build regressions and found,
# first bad commit: [45c79ca947c936085c94b716be92eaf9a1bdc8bb] bugs/s390: Use 'cond_str' in __EMIT_BUG()
I'll take a look at this tomorrow. I guess the easiest "fix" is to change the s390 bug code similar to arm64, so that those problems with inline asm constraints cannot happen anymore.
At least I hope that will work. We'll see.