lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 13 Jun 2024 15:35:23 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Naresh Kamboju <naresh.kamboju@...aro.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, stable@...r.kernel.org,
	patches@...ts.linux.dev, linux-kernel@...r.kernel.org,
	torvalds@...ux-foundation.org, akpm@...ux-foundation.org,
	linux@...ck-us.net, shuah@...nel.org, patches@...nelci.org,
	lkft-triage@...ts.linaro.org, pavel@...x.de, jonathanh@...dia.com,
	f.fainelli@...il.com, sudipm.mukherjee@...il.com,
	srw@...dewatkins.net, rwarsow@....de, conor@...nel.org,
	allen.lkml@...il.com, broonie@...nel.org,
	Anders Roxell <anders.roxell@...aro.org>,
	Guo Ren <guoren@...ux.alibaba.com>, Guo Ren <guoren@...nel.org>,
	Palmer Dabbelt <palmer@...osinc.com>,
	clang-built-linux <llvm@...ts.linux.dev>
Subject: Re: [PATCH 5.10 000/317] 5.10.219-rc1 review

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@...uxfoundation.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-rc1.gz
> > 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@...aro.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;

Cheers,
Nathan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ