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] [day] [month] [year] [list]
Date:   Sat, 10 Sep 2022 09:35:51 -0400
From:   Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
To:     Guo Ren <guoren@...nel.org>
Cc:     Peter Zijlstra <peterz@...radead.org>,
        paulmck <paulmck@...nel.org>, Boqun Feng <boqun.feng@...il.com>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        Alexander Viro <viro@...iv.linux.org.uk>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        "linux-csky@...r.kernel.org" <linux-csky@...r.kernel.org>
Subject: Re: [RFC PATCH 2/2] Revert "csky: Add support for restartable
 sequence"

On 2022-09-09 22:35, Guo Ren wrote:
> On Sat, Sep 10, 2022 at 4:01 AM Mathieu Desnoyers
[
>> A friendly ping after 1.5 year about the fact that the selftests code is
>> still missing for the csky architecture. So there is no way to validate
>> that the kernel pieces that were merged actually work on that architecture.
>>
>> What is the timeline for contribution of the missing bits needed to enable
>> those tests ?
> I would send the 1st version of patchset before 2022/10/30, or just
> revert it from csky.

OK. I can help by answering questions or with code review. I'm not 
fluent in csky assembly, but I'll try to learn as I go.

> 
> 1. a patch for fixup the bug:
> diff --git a/arch/csky/kernel/signal.c b/arch/csky/kernel/signal.c
> index b7b3685283d7..434dcf2e8e37 100644
> --- a/arch/csky/kernel/signal.c
> +++ b/arch/csky/kernel/signal.c
> @@ -179,8 +179,6 @@ static void handle_signal(struct ksignal *ksig,
> struct pt_regs *regs)
>          sigset_t *oldset = sigmask_to_save();
>          int ret;
> 
> -       rseq_signal_deliver(ksig, regs);
> -
>          /* Are we from a system call? */
>          if (in_syscall(regs)) {
>                  /* Avoid additional syscall restarting via ret_from_exception */
> @@ -206,6 +204,8 @@ static void handle_signal(struct ksignal *ksig,
> struct pt_regs *regs)
>                  }
>          }
> 
> +       rseq_signal_deliver(ksig, regs);
> +
>          /* Set up the stack frame */
>          ret = setup_rt_frame(ksig, oldset, regs);

Yes, this fix is really needed.

> 
> 2. Add tools/testing/selftests/rseq/rseq-csky* codes.

It looks like a good plan,

Thanks,

Mathieu


> 
> 
> 
>>
>> Here are the required header files:
>>
>> tools/testing/selftests/rseq/rseq-csky.h
>> tools/testing/selftests/rseq/rseq-csky-thread-pointer.h (only if __builtin_thread_pointer is not implemented by gcc)
>>
>> I'm open to suggestions from other rseq co-maintainers on how to best address
>> this situation.
>>
>> Thanks,
>>
>> Mathieu
>>
>> --
>> Mathieu Desnoyers
>> EfficiOS Inc.
>> https://www.efficios.com
> 
> 
> 


-- 
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ