On Fri, Jun 28, 2024 at 15:07:26 +0200, Adam Julis wrote: > While changing the portgroup attribute causes incorrect > behavior, this option is disabled for hot-plug. > > Resolves: https://issues.redhat.com/browse/RHEL-7299 > Signed-off-by: Adam Julis <ajulis@xxxxxxxxxx> > --- > src/qemu/qemu_hotplug.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c > index 4a3f4f657e..355f742535 100644 > --- a/src/qemu/qemu_hotplug.c > +++ b/src/qemu/qemu_hotplug.c > @@ -3884,6 +3884,13 @@ qemuDomainChangeNet(virQEMUDriver *driver, > goto cleanup; > } > > + if (newdev->type == VIR_DOMAIN_NET_TYPE_NETWORK && Note that at this point in the function it's not yet guaranteed that 'newdev->type' is equal to 'olddev->type' > + STRNEQ_NULLABLE(olddev->data.network.portgroup, newdev->data.network.portgroup)) { so accessing the union members of olddev at this point is not safe as they can be of a different type. There's a code path inside the function that does this if both are equal. Also note that the code allows backend change ('needReconnect'), so there's a possibility that the config option can be in fact changed (I didn't verify though). > + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", > + _("cannot modify network device portgroup attribute")); > + goto cleanup; > + } > + > /* allocate new actual device to compare to old - we will need to > * free it if we fail for any reason > */ > -- > 2.45.2 >