Thread (20 messages) 20 messages, 5 authors, 2021-05-24

RE: [RESEND PATCH v4 8/8] arm64: Allow 64-bit tasks to invoke compat syscalls

From: David Laight <hidden>
Date: 2021-05-18 20:26:45
Also in: lkml

From: Arnd Bergmann
Sent: 18 May 2021 14:02
...
I'm still undecided about this approach. It is an easy way to expose the 32-bit
ABIs, it mostly copies what x86-64 already does with 32-bit syscalls and
it doesn't expose a lot of attack surface that isn't already exposed to normal
32-bit tasks running compat mode.

On the other hand, exposing the entire aarch32 syscall set seems both
too broad and not broad enough: Half of the system calls behave the
exact same way in native and compat mode, so they wouldn't need to
be exposed like this, a lot of others are trivially emulated in user space
by calling the native versions. The syscalls that are actually hard to do
such as ioctl() or the signal handling will work for aarch32 emulation, but
they are still insufficient to correctly emulate other 32-bit architectures
that have a slightly different ABI. This means the interface is a fairly good
fit for Tango, but much less so for FEX.
To my mind because the kernel already contains the emulation code
there isn't much point trying to replicate it in userspace.

OTOH I think they are trying to emulate x86 system calls not arm ones.
So the structure layouts don't always match.
However it is probably a lot nearer than the 64bit arm.

Whether including some of the 'x32' code in an arm kernel will
help is another matter - it might be a useful source of differences.

Am I also right in thinking that this isn't actually needed as part
of a 'generic' ARM kernel? Just ones for some specific platforms?

	David

(Oh - I'm not involved in the project and will probably never use it.)

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help