Messages in this thread |  | | Date | Wed, 2 Dec 2015 13:01:53 +0300 | | From | Yury Norov <> | | Subject | Re: [PATCH v6 14/19] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it |
| |
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 4K
> > +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...
|  |