[PATCH v6 14/19] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it
ynorov at caviumnetworks.com
Wed Dec 2 02:01:53 PST 2015
On Tue, Nov 17, 2015 at 10:57:52PM +0100, Arnd Bergmann wrote:
It looks, all them are needed.
> > +asmlinkage long compat_sys_mmap2_wrapper(void);
> > +#define sys_mmap2 compat_sys_mmap2_wrapper
This wrapper checks alignement of pgoff, if page sise is greater than
> > +asmlinkage long compat_sys_fstatfs64_wrapper(void);
> > +#define compat_sys_fstatfs64 compat_sys_fstatfs64_wrapper
> > +asmlinkage long compat_sys_statfs64_wrapper(void);
> > +#define compat_sys_statfs64 compat_sys_statfs64_wrapper
This two hacks fix an alignment issue. I didn't check all details but
it looks like sizeof(compat_statfs64) is different in kernel and library.
And this size is passed as 2nd argument to compat syscalls. We can
handle it in userspace but I don't see any advantage.
All this handlers are shared between ilp32 and aarch32.
This is best we came up, as it doesn't add new hacks, but reuses old
More information about the linux-arm-kernel