Re: [RFC PATCH v3 3/3] LoongArch: No need to call RESTORE_ALL_AND_RET for all syscalls

From: Tiezhu Yang
Date: Thu Jun 16 2022 - 09:36:56 EST




On 06/16/2022 08:52 PM, Huacai Chen wrote:
Hi, Tiezhu,

On Wed, Jun 15, 2022 at 6:29 PM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote:

In handle_syscall, it is unnecessary to call RESTORE_ALL_AND_RET
for all syscalls.

(1) clone and clone3 call RESTORE_STATIC_SOME_SP_AND_RET.
(2) rt_sigreturn and rt_sigsuspend call RESTORE_TEMP_SOME_SP_AND_RET.
I doubt that you have not tested, it is obvious that rt_sigreturn need
RESTORE_ALL.

Yes, your guess is right. :)

I have no workable machine to update the upstream kernel now, only compile test.

I will try my best to find a workable machine and then test it,
there is a good test case written by Rui Wang [1].

This patch is RFC, any comments will be much appreciated, thank you.

[1] https://github.com/hevz/sigaction-test

Thanks,
Tiezhu