On Fri, 23 May 2025, Guenter Roeck wrote:
On 5/20/25 06:49, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.15.184 release. There are 59 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu, 22 May 2025 12:57:37 +0000. Anything received after that time might be too late.
Build reference: v5.15.184 Compiler version: x86_64-linux-gcc (GCC) 12.4.0 Assembler version: GNU assembler (GNU Binutils) 2.40
Configuration file workarounds: "s/CONFIG_FRAME_WARN=.*/CONFIG_FRAME_WARN=0/"
Building i386:defconfig ... passed Building i386:allyesconfig ... failed
Error log: x86_64-linux-ld: arch/x86/kernel/static_call.o: in function `__static_call_transform': static_call.c:(.ref.text+0x46): undefined reference to `cpu_wants_rethunk_at' make[1]: [Makefile:1234: vmlinux] Error 1 (ignored)
Building i386:allmodconfig ... failed
Error log: x86_64-linux-ld: arch/x86/kernel/static_call.o: in function `__static_call_transform': static_call.c:(.ref.text+0x46): undefined reference to `cpu_wants_rethunk_at' make[1]: [Makefile:1234: vmlinux] Error 1 (ignored)
In v5.15.y, cpu_wants_rethunk_at is only built if CONFIG_STACK_VALIDATION=y, but that is not supported for i386 builds. The dummy function in arch/x86/include/asm/alternative.h doesn't take that dependency into account.
I found this bug too using the Slackware 15.0 32-bit kernel configuration.
Here is a simple work around patch, but there may be a better solution...
--- arch/x86/kernel/static_call.c.orig 2025-05-22 05:08:28.000000000 -0700 +++ arch/x86/kernel/static_call.c 2025-05-27 10:25:27.630496538 -0700 @@ -81,9 +81,12 @@ break;
case RET: + +#ifdef CONFIG_64BIT if (cpu_wants_rethunk_at(insn)) code = text_gen_insn(JMP32_INSN_OPCODE, insn, x86_return_thunk); else +#endif code = &retinsn; break;
-------------- Richard Narron