[lttng-dev] [Patch lttng-modules v2] ARM: Resolve sys_unknown system calls

Jan Glauber jan.glauber at gmail.com
Tue Apr 15 08:31:43 EDT 2014

On Mon, Apr 14, 2014 at 01:53:47PM +0000, Mathieu Desnoyers wrote:
> ----- Original Message -----
> > From: "Jan Glauber" <jan.glauber at gmail.com>
> > To: "Mathieu Desnoyers" <mathieu.desnoyers at efficios.com>
> > Cc: lttng-dev at lists.lttng.org
> > Sent: Monday, April 14, 2014 9:31:58 AM
> > Subject: Re: [Patch lttng-modules v2] ARM: Resolve sys_unknown system calls
> > 
> > No. I'm currently stuck with that kernel version and I doubt the system call
> > extractor wont find a system call like sys_recv on a newer kernel.
> Indeed, sys_recv, sys_sigreturn, sys_rt_sigreturn are still not defined with
> SYSCALL_DEFINE. However, on a current 3.15-rc1 kernel, we find:
> fs/read_write.c:SYSCALL_DEFINE4(pread64, ....
> fs/read_write.c:SYSCALL_DEFINE4(pwrite64, ...
> kernel/fork.c:SYSCALL_DEFINE0(vfork)
> fs/open.c:SYSCALL_DEFINE2(ftruncate64, unsigned int, fd, loff_t, length)
> fs/statfs.c:SYSCALL_DEFINE3(fstatfs64, unsigned int, fd, size_t, sz, struct statfs64 __user *, buf)
> fs/open.c:SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)

Found the reason why pread64 and the above system calls were not available.
The culprit is SYSCALL_DEFINE which in contrast to SYSCALL_DEFINEx define
(notice the x at the end) never had the meta data included.

This was fixed accidently by Al Viro during 3.10 by killing SYSCALL_DEFINE
in favor for the SYSCALL_DEFINEx variant (which adds the meta data).

x86_64 knows these system calls, because the list was extracted after
the upstream change.

That leaves sys_recv and the sigreturns, I'll follow that up on lkml.
> The overrides should be limited to the system calls unavailable in the
> current kernel version. Please run the system call extractor on a newer
> kernel, so we can get some of the missing definitions, and then only
> provide overrides for the missing ones. Each override we add means
> an extra maintenance burden for each architecture, which we want to
> keep minimal.

I don't want to go through this cumbersome extractor script madness
again and I cannot run a newer kernel anyway. If you don't want to
take the patch I'll leave it for now.

Regards, Jan
> Thanks,
> Mathieu

More information about the lttng-dev mailing list