Bad system call

Hal Murray hmurray at megapathdsl.net
Mon Jan 18 23:49:49 UTC 2021


>> Have you tried strace or gdb?
> strace attached. 

clock_gettime64(CLOCK_REALTIME_COARSE, {tv_sec=9136151223987077120, 
tv_nsec=18446744071541764330}) = 5
--- SIGSYS {si_signo=SIGSYS, si_code=SYS_SECCOMP, si_call_addr=0x76a9238c, 
si_syscall=__NR_clock_gettime64, si_arch=AUDIT_ARCH_ARM} ---
clock_gettime64(CLOCK_REALTIME_COARSE, {tv_sec=1991495680, 
tv_nsec=22592472869765122}) = 5
--- SIGSYS {si_signo=SIGSYS, si_code=SYS_SECCOMP, si_call_addr=0x76a9238c, 
si_syscall=__NR_clock_gettime64, si_arch=AUDIT_ARCH_ARM} ---
+++ killed by SIGSYS +++


Interesting timing.  There is a discussion on Libc-help 
<libc-help at sourceware.org> about clock_gettime64 on 32 bit systems, or 
something maybe interesting in that area.

List-archive: <https://sourceware.org/pipermail/libc-help/>
Subject: Re: Glibc 2.31 - time64 with 64-bit kernel and 32-bit userland

I see SECCOMP in there.  Did you build with SECCOMP?

If seccomp is enabled, it installs a handler for SIGSYS that is supposed to 
print out a helpful error message.  Of course, that doesn't work if the trap 
happens again in the error printout path.

I gave up on seccomp.  I think there are comments about how to debug it in the 
code, probably near the SIGSYS catcher.

clock_gettime64 isn't on the seccomp list.  It's probably fastest to try 
adding it.



-- 
These are my opinions.  I hate spam.





More information about the devel mailing list