[PATCH] lxc: don't try to reserve macvtap name for LXC domains

Daniel P. Berrangé berrange at redhat.com
Tue Dec 15 09:53:05 UTC 2020


On Mon, Dec 14, 2020 at 04:30:48PM -0500, Laine Stump wrote:
> Commit 729a06c41 added code to the LXC driver (patterned after similar
> code in the QEMU driver) that called
> virNetDevMacVlanReserveName(net->ifname) for all type='direct'
> interfaces during a libvirtd restart, to prevent other domains from
> attempting to use a macvtap device name that was already in use by a
> domain.
> 
> But, unlike a QEMU domain, when an LXC domain creates a macvtap
> device, that device is almost immediately moved into the namespace of
> the container (and it's then renamed, but that part isn't
> important). Because of this, the LXC driver doesn't keep track (in
> net->ifname) of the name used to create the device (as the QEMU driver
> does).
> 
> The result of this is that if libvirtd is restarted while there is an
> active LXC domain that has <interface type='direct'>, libvirtd will
> segfault (since virNetDevMacVLanReserveName() doesn't check for a NULL
> pointer).
> 
> The fix is to just not call that function in the case of the LXC
> driver, since it is pointless anyway.
> 
> Signed-off-by: Laine Stump <laine at redhat.com>
> ---
>  src/lxc/lxc_process.c | 7 -------
>  1 file changed, 7 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange at redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list