Hello again, On Fri, 29 Oct 2021 13:52:31 +0200 Stefano Brivio wrote: > On Fri, 29 Oct 2021 19:02:15 +0800 > Li Feng wrote: > > > > [...] > > > > clone(child_stack=NULL, > > flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLDstrace: Process > > 172939 attached > > , child_tidptr=0x7f7b89b1da10) = 172939 > > [pid 172921] exit_group(0 > > [pid 172939] set_robust_list(0x7f7b89b1da20, 24 > > [pid 172921] <... exit_group resumed>) = ? > > [pid 172921] +++ exited with 0 +++ > > <... set_robust_list resumed>) = ? > > +++ killed by SIGSYS (core dumped) +++ > > ``` > > Which is the bad syscall? > > Oh, it's set_robust_list(), it's normal that exit_group() doesn't > return. That new usage probably comes from: > https://sourceware.org/git/?p=glibc.git;a=commit;h=9a7565403758f65c07fe3705e966381d9cfd35b6 > > and that code path is not really needed for passt, so I would have a > quick try at avoiding it rather than adding a syscall, perhaps with a > small replacement of daemon() using clone() instead of fork(). I forgot to follow up here: in the end I pushed a change that, among other calls, allows set_robust_list() unconditionally: https://passt.top/passt/commit/?id=33b1bdd079f1b40dffb040e40579d7434c28d10a alternatives looked quite awkward, a replacement of daemon() also didn't look very small, other suggestions warmly welcome. By the way, the new tests checking build and basic functionality also cover Fedora 35. -- Stefano