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@xxxxxxxxxx> > --- > src/lxc/lxc_process.c | 7 ------- > 1 file changed, 7 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> 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 :|