Hello,
On Mon, 25 Jan 2016 21:16:49 +0100, Waldemar Brodkorb wrote:
I originally reported this for uClibc but I think it might be interesting for uclibc-ng as well (or even more since original uClibc gets more and more stale):
See https://bugs.busybox.net/show_bug.cgi?id=8611
Maybe you also find a better approach as the one I implemented.
Thanks for the report. I will try the patch. Do you have some small test-case or a real life application failing, so I can test on my x86 machine?
If the bug is really that syscalls with 6 arguments are broken, then you can try with any of those system calls:
fs/compat.c:COMPAT_SYSCALL_DEFINE6(pselect6, int, n, compat_ulong_t __user *, inp, fs/eventpoll.c:SYSCALL_DEFINE6(epoll_pwait, int, epfd, struct epoll_event __user *, events, fs/select.c:SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, outp, fs/splice.c:SYSCALL_DEFINE6(splice, int, fd_in, loff_t __user *, off_in, ipc/syscall.c:SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, unsigned long, second, kernel/fork.c:SYSCALL_DEFINE6(clone, unsigned long, clone_flags, unsigned long, newsp, kernel/futex.c:SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
etc.
Best regards,
Thomas