I further bisected it down to adding this line to /usr/include/i386
-linux-gnu/asm/unistd_32.h:

  #define __NR_socket 359

if I drop just that and rebuild systemd, seccomp/nspawn work again.

While systemd does define some syscalls for some more obscure platforms
in https://github.com/systemd/systemd/blob/master/src/basic/missing.h if
the kernel headers don't already define them, these don't seem to
collide with either __NR_socket or the value 359. The only place where I
see this referenced is in /usr/include/asm-generic/unistd.h:

#define __NR_socket 198
__SYSCALL(__NR_socket, sys_socket)

but as that redefines __NR_socket I figure that's unrelated. Commenting
it out doesn't change the behaviour at all.

I confirm this on Debian sid which has linux-libc-dev 4.3.3-1, exact
same situation.

At this point I'm afraid I don't understand what's going on and what
these new syscall definitions do.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1526358

Title:
  xenial/i386 regression: nspawn fails with "Failed to add audit seccomp
  rule: Bad address"

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526358/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to