On Thu, Jun 13, 2024 at 03:35:23PM -0700, Nathan Chancellor wrote:
On Thu, Jun 13, 2024 at 08:43:41PM +0530, Naresh Kamboju wrote:
On Thu, 13 Jun 2024 at 17:43, Greg Kroah-Hartman gregkh@linuxfoundation.org wrote:
This is the start of the stable review cycle for the 5.10.219 release. There are 317 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 Sat, 15 Jun 2024 11:31:50 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at: https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.10.219-rc... or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y and the diffstat can be found below.
thanks,
greg k-h
The following build errors are noticed on riscv with clang-18 toolchain but gcc-12 builds pass.
However, compared with older releases this is a build regression on stable-rc 5.10.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
riscv: defconfig - gcc-12 - PASS defconfig - clang-18 - FAILED
Build error:
arch/riscv/kernel/stacktrace.c:75:52: error: incompatible pointer to integer conversion passing 'void *' to parameter of type 'unsigned long' [-Wint-conversion] 75 | if (unlikely(!__kernel_text_address(pc) || !fn(arg, pc))) | ^~~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ arch/riscv/kernel/stacktrace.c:75:57: error: incompatible integer to pointer conversion passing 'unsigned long' to parameter of type 'void *' [-Wint-conversion] 75 | if (unlikely(!__kernel_text_address(pc) || !fn(arg, pc))) | ^~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ 2 errors generated. make[3]: *** [scripts/Makefile.build:286: arch/riscv/kernel/stacktrace.o] Error 1
It looks like either commit 9dd97064e21f ("riscv: Make stack walk callback consistent with generic code") should be applied with the straight from upstream copy of commit 7ecdadf7f8c6 ("riscv: stacktrace: Make walk_stackframe cross pt_regs frame") or the latter commit's 5.10 backport should be modified to match the linux-5.10.y order of the arguments:
diff --git a/arch/riscv/kernel/stacktrace.c b/arch/riscv/kernel/stacktrace.c index c38b20caad7c..010e4c881c8b 100644 --- a/arch/riscv/kernel/stacktrace.c +++ b/arch/riscv/kernel/stacktrace.c @@ -72,7 +72,7 @@ void notrace walk_stackframe(struct task_struct *task, struct pt_regs *regs, pc = ftrace_graph_ret_addr(current, NULL, frame->ra, &frame->ra); if (pc == (unsigned long)ret_from_exception) {
if (unlikely(!__kernel_text_address(pc) || !fn(arg, pc)))
if (unlikely(!__kernel_text_address(pc) || !fn(pc, arg))) break;
pc = ((struct pt_regs *)sp)->epc;
I'll just drop these riscv patches from 5.10.y, as odds are, no one is using that arch in that old tree anymore. And if they are, they can send working patches :)
thanks,
greg k-h