[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] qemu-ga: obey LISTEN_PID when using systemd
From: |
Richard W.M. Jones |
Subject: |
Re: [Qemu-devel] [PATCH v2] qemu-ga: obey LISTEN_PID when using systemd socket activation |
Date: |
Thu, 16 Mar 2017 17:03:58 +0000 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
On Thu, Mar 16, 2017 at 05:36:40PM +0100, Paolo Bonzini wrote:
> qemu-ga's socket activation support was not obeying the LISTEN_PID
> environment variable, which avoids that a process uses a socket-activation
> file descriptor meant for its parent.
>
> Mess can for example ensue if a process forks a children before consuming
> the socket-activation file descriptor and therefore setting O_CLOEXEC
> on it.
>
> Luckily, qemu-nbd also got socket activation code, and its copy does
> support LISTEN_PID. Some extra fixups are needed to ensure that the
> code can be used for both, but that's what this patch does. The
> main change is to replace get_listen_fds's "consume" argument with
> the FIRST_SOCKET_ACTIVATION_FD macro from the qemu-nbd code.
>
> @@ -1388,7 +1363,7 @@ int main(int argc, char **argv)
> config->method = NULL;
> config->channel_path = NULL;
>
> - addr = socket_local_address(listen_fd, NULL);
> + addr = socket_local_address(FIRST_SOCKET_ACTIVATION_FD , NULL);
There's an extra space before the comma here.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v