[PATCH v6 14/19] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it
From: Yury Norov <hidden>
Date: 2015-12-02 10:02:37
Also in:
lkml
From: Yury Norov <hidden>
Date: 2015-12-02 10:02:37
Also in:
lkml
On Tue, Nov 17, 2015 at 10:57:52PM +0100, Arnd Bergmann wrote: It looks, all them are needed.
quoted
+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 4K
quoted
+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 ones...