I patched linux-user/syscall.c (see below, branch stable-2.11) which works
around my problem.
So far so good, but the qemu-arm that i compiled is terribly slow compared to
the one that came with Ubuntu 18.04. Any hints?
I configured as this:
./configure --static --enable-kvm
I filed the duplicate #1840252 of this bug.
I think that the options SO_PEERCRED and SO_PEERSEC belong into the
context of SELINUX. So maybe the format of the paylod can be found in
the sources of libselinux?
I'd like to compile qemu with a local hack to work around my current
problem. Something
I have just studied a bit the systemd code and this brought me to the
following idea/temporary workaround: What about returning -1 (error) and
setting errno when getsockopt(fd, SOL_SOCKET, SO_PEERSEC, ...) gets
called? This would then let systemd know that SO_PEERSEC is not (yet)
implemented.
--
This is probably the tight loop that gets triggered:
https://github.com/systemd/systemd/commit/217d89678269334f461e9abeeffed57077b21454
It looks like the previous implementation was just a bit more
"tolerant".
--
You received this bug notification because you are a member of qemu-
devel-ml,
As described on the systemd issue, the syscall we're getting wrong here
is getsockopt(fd, SOL_SOCKET, SO_PEERSEC, ...). Our linux-
user/syscall.c:do_getsockopt() doesn't have any special case code for
the payload on this function, so we treat it as if it were just an
integer payload, which is not