Re-visiting SKIP_TEST_BOGUS_ADDR in tests/ipc_msg.c

Dmitry V. Levin ldv at
Sat Sep 12 11:19:00 UTC 2020

On Fri, Sep 11, 2020 at 06:10:35PM +0800, Ruinland ChuanTzu Tsai wrote:
> Hi all,
> In glibc's 2.32 implementation, the syscall wrapper code now will ac-
> cess the `buf` for transforming data types into kernel desired ones :
> which is introduced in the commit 3283f711 :
> This will definitely triggers the segmentation fault in user space
> first instead of triggering EFAULT inside Linux kernel on _every_
> platform.

Apparently, the conversion happens only on those architectures where
glibc supports 32-bit time_t, that is, where __TIMESIZE == 32.

On these architectures disabling of TEST_MSGCTL_BOGUS_ADDR cures the
segfault, but sadly it isn't enough to fix the test because glibc
performs the time_t conversion and passes a structure at a different
address in memory to the system call.


More information about the Strace-devel mailing list