Re: [PATCH v2 3/3] arm64: use the correct function type for __arm64_sys_ni_syscall

From: Will Deacon
Date: Wed May 15 2019 - 07:42:29 EST


On Tue, May 07, 2019 at 11:32:27AM -0700, Sami Tolvanen wrote:
> On Tue, May 07, 2019 at 06:25:12PM +0100, Mark Rutland wrote:
> > I strongly think that we cant to fix up the common definition in
> > kernel/sys_ni.c rather than having a point-hack in arm64. Other
> > architectures (e.g. x86, s390) will want the same for CFI, and I'd like
> > to ensure that our approached don't diverge.
>
> s390 already has the following in arch/s390/kernel/sys_s390.c:
>
> SYSCALL_DEFINE0(ni_syscall)
> {
> return -ENOSYS;
> }
>
> Which, I suppose, is cleaner than calling sys_ni_syscall.
>
> > I took a quick look, and it looks like it's messy but possible to fix
> > up the core.
>
> OK. How would you propose fixing this?

In the absence of a patch from Mark, I'd suggest just adding a SYS_NI macro
to our asm/syscall_wrapper.h file which avoids the error injection stuff. It
doesn't preclude moving this to the core later on, but it unblocks the CFI
work.

Will