[libvirt-users] virDBusCallMethod:1173 : Launch helper exited with unknown return code

Laine Stump laine at laine.org
Wed Jan 15 09:17:35 UTC 2014


On 01/15/2014 10:05 AM, Karoline Haus wrote:
> Good morning,
>
> I'm using libvirtd on Gentoo.
> This is libvirt version: 1.1.3.1
>
> I have trouble starting a VM using virsh start $vm. I do this as root,
> because as non-root user it did not work at all (especially it failed
> attaching to the networks). So, when I run the command (with sudo), I
> get the following error in libvirtd.log:
>
> 2014-01-15 07:51:00.423+0000: 16158: warning : qemuDomainObjTaint:1573
> : Domain id=5 name='vader' uuid=f5b8c05b-9c7a-3211-49b9-2bd635f7e2aa
> is tainted: high-privileges

This usually means that libvirt has been configured to run the qemu
process as root, which introduces the possibility that a guest
exploiting some theoretical security exploit in qemu could gain control
of the host system. Normally libvirt installations will by default be
configured to run the qemu-kvm process as user qemu, with all privilege
bits cleared; either gentoo's default install of libvirt doesn't set
things up this way, or you or someone else has modified
/etc/libvirt/qemu.conf to change the "user" and "group" parameters to
"root".

To fix this problem, edit /etc/libvirt/qemu.conf and either comment out
those two parameters (if they aren't already commented out), or change
them to set both user and group to "qemu" (assuming that gentoo follows
the standard of adding a "qemu" user when installing libvirt), then
restart the libvirt service and try starting the guest again.

Note, however, that this is a *warning*, not an error, so the guest
should still be starting up and running. If not, then there should be
some subsequent error message in the log (and/or look at the end of
/var/log/libvirt/qemu/${vm}.log for error messages from qemu)

> 2014-01-15 07:51:00.428+0000: 16158: error : virDBusCallMethod:1173 :
> Launch helper exited with unknown return code 1
>
> At the same time I get an error in /var/log/messages which seems related:
> Jan 15 07:51:00  dbus[15845]: [system] Activating service
> name='org.freedesktop.machine1' (using servicehelper)
> Jan 15 07:51:00  dbus[15845]: [system] Activated service
> 'org.freedesktop.machine1' failed: Launch helper exited with unknown
> return code 1
>
> Anyone ever seen this issue? I have no idea where to look for errors
> because the message don't really tell me much.

The problem is that the part that tells you something is pretty short:
"Domain [...] is tainted: high-privileges"

> I have tried to execute the qemu-kvm command on the command line
> directly and that worked immediately.

Because when you run qemu-kvm from the commandline, it is being run as
root. libvirt goes to great lengths to enable running the qemu-kvm
process as "unprivileged" as possible, so that any potential security
exploits in qemu-kvm will be as limited as possible in the damage they
can do. Any operation that requires elevated privileges (e.g. creating a
tap device to hook up the guest's networking, modifying the selinux
labelling of various resources) is done by libvirt, which passed open
file descriptors to the newly created resources to a qemu-kvm process
that has been created running as an unprivileged user, with all
privilege bits reset and pretty much all system resources limited by
cgroups.

> So the problem must be in libvirt.

Well, in your system's libvirt configuration anyway.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20140115/9f61648d/attachment.htm>


More information about the libvirt-users mailing list