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]
Message-ID: <CAAhV-H6xLX5ZjVKV9bixN=PT6p47JheDU4pYtqeo-=2BSnQkRg@mail.gmail.com>
Date: Mon, 12 Jan 2026 17:23:47 +0800
From: Huacai Chen <chenhuacai@...nel.org>
To: Tiezhu Yang <yangtiezhu@...ngson.cn>
Cc: loongarch@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Revert "LoongArch: Remove unnecessary checks for ORC unwinder"

Hi, Tiezhu,

On Mon, Jan 12, 2026 at 5:15 PM Tiezhu Yang <yangtiezhu@...ngson.cn> wrote:
>
> This reverts commit 4cd641a79e69270a062777f64a0dd330abb9044a.
>
> The system can not boot normally with the latest kernel 6.19-rc5 under
> different configs, commit 4cd641a79e69 ("LoongArch: Remove unnecessary
> checks for ORC unwinder") is the first bad commit since 6.19-rc4, just
> revert it first before finding the root cause.
Can you show the errors in the boot log?

Huacai
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@...ngson.cn>
> ---
>  arch/loongarch/kernel/unwind_orc.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/arch/loongarch/kernel/unwind_orc.c b/arch/loongarch/kernel/unwind_orc.c
> index 8a6e3429a860..710f82d73797 100644
> --- a/arch/loongarch/kernel/unwind_orc.c
> +++ b/arch/loongarch/kernel/unwind_orc.c
> @@ -352,6 +352,12 @@ static inline unsigned long bt_address(unsigned long ra)
>  {
>         extern unsigned long eentry;
>
> +       if (__kernel_text_address(ra))
> +               return ra;
> +
> +       if (__module_text_address(ra))
> +               return ra;
> +
>         if (ra >= eentry && ra < eentry +  EXCCODE_INT_END * VECSIZE) {
>                 unsigned long func;
>                 unsigned long type = (ra - eentry) / VECSIZE;
> @@ -369,13 +375,10 @@ static inline unsigned long bt_address(unsigned long ra)
>                         break;
>                 }
>
> -               ra = func + offset;
> +               return func + offset;
>         }
>
> -       if (__kernel_text_address(ra))
> -               return ra;
> -
> -       return 0;
> +       return ra;
>  }
>
>  bool unwind_next_frame(struct unwind_state *state)
> @@ -498,6 +501,9 @@ bool unwind_next_frame(struct unwind_state *state)
>                 goto err;
>         }
>
> +       if (!__kernel_text_address(state->pc))
> +               goto err;
> +
>         return true;
>
>  err:
> --
> 2.42.0
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ