All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: 虞陆铭 <luming.yu@shingroup.cn>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	npiggin <npiggin@gmail.com>,
	"jialong.yang" <jialong.yang@shingroup.cn>,
	"luming.yu" <luming.yu@gmail.com>
Subject: Re: [PATCH 1/7] powerpc/entry: convert to common and generic entry
Date: Wed, 23 Oct 2024 12:53:47 +1100	[thread overview]
Message-ID: <87o73b37pw.fsf@mail.lhotse> (raw)
In-Reply-To: <tencent_381ACB160B890CC46678170E@qq.com>

"虞陆铭" <luming.yu@shingroup.cn> writes:
>>Le 12/10/2024 à 05:56, Luming Yu a écrit :
>>> convert powerpc entry code in syscall and fault to use syscall_work
>>> and irqentry_state as well as common calls implemented in generic
>>> entry infrastructure.
>>> 
>>> Signed-off-by: Luming Yu <luming.yu@shingroup.cn>
>>> ---
>>>   arch/powerpc/Kconfig                   | 1 +
>>>   arch/powerpc/include/asm/hw_irq.h      | 5 +++++
>>>   arch/powerpc/include/asm/processor.h   | 6 ++++++
>>>   arch/powerpc/include/asm/syscall.h     | 5 +++++
>>>   arch/powerpc/include/asm/thread_info.h | 1 +
>>>   arch/powerpc/kernel/syscall.c          | 5 ++++-
>>>   arch/powerpc/mm/fault.c                | 3 +++
>>>   7 files changed, 25 insertions(+), 1 deletion(-)
>>> 
>>
>>...
>>
>>> diff --git a/arch/powerpc/kernel/syscall.c b/arch/powerpc/kernel/syscall.c
>>> index 77fedb190c93..e0338bd8d383 100644
>>> --- a/arch/powerpc/kernel/syscall.c
>>> +++ b/arch/powerpc/kernel/syscall.c
>>> @@ -3,6 +3,7 @@
>>>   #include <linux/compat.h>
>>>   #include <linux/context_tracking.h>
>>>   #include <linux/randomize_kstack.h>
>>> +#include <linux/entry-common.h>
>>>   
>>>   #include <asm/interrupt.h>
>>>   #include <asm/kup.h>
>>> @@ -131,7 +132,7 @@ notrace long system_call_exception(struct pt_regs *regs, unsigned long r0)
>>>   		 * and the test against NR_syscalls will fail and the return
>>>   		 * value to be used is in regs->gpr[3].
>>>   		 */
>>> -		r0 = do_syscall_trace_enter(regs);
>>> +		r0 = syscall_enter_from_user_mode(regs, r0);
>>
>>Can you provide details on how this works ?
> I assume the common entry would take over th details.
> So I just made the switch from the high level call.
>
> As you said as the subtle ABI requirement about regs->r3 needs to
> be restored, I'm wondering which test can capture the lost
> ABI feature. As simple Boot test is insufficient, what is the test set
> that can capture it?

The seccomp selftest did exercise it back when I originally wrote that
code. I don't know for sure that it still does, but that would be a good
start.

It's in tools/testing/selftests/seccomp/

cheers


  reply	other threads:[~2024-10-23  1:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-12  3:56 [PATCH 1/7] powerpc/entry: convert to common and generic entry Luming Yu
2024-10-15 17:43 ` Christophe Leroy
2024-10-22  4:50   ` 虞陆铭
2024-10-23  1:53     ` Michael Ellerman [this message]
2024-10-24  8:43       ` Luming Yu
2024-10-25  2:50         ` Luming Yu
2024-11-05  4:47           ` Luming Yu
2024-11-07  3:40             ` Luming Yu
2024-11-10  6:30               ` Luming Yu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o73b37pw.fsf@mail.lhotse \
    --to=mpe@ellerman.id.au \
    --cc=christophe.leroy@csgroup.eu \
    --cc=jialong.yang@shingroup.cn \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luming.yu@gmail.com \
    --cc=luming.yu@shingroup.cn \
    --cc=npiggin@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.