[Qemu-devel] [Bug 1823790] Re: QEMU mishandling of SO_PEERSEC forces systemd into tight loop

2019-08-16 Thread Fritz Katze
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

[Qemu-devel] [Bug 1823790] Re: QEMU mishandling of SO_PEERSEC forces systemd into tight loop

2019-08-16 Thread Fritz Katze
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

[Qemu-devel] [Bug 1823790] Re: QEMU mishandling of SO_PEERSEC forces systemd into tight loop

2019-04-11 Thread Matthias Lüscher
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. --

[Qemu-devel] [Bug 1823790] Re: QEMU mishandling of SO_PEERSEC forces systemd into tight loop

2019-04-11 Thread Matthias Lüscher
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,

[Qemu-devel] [Bug 1823790] Re: QEMU mishandling of SO_PEERSEC forces systemd into tight loop

2019-04-09 Thread Peter Maydell
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