On 03/14/2011 09:18 AM, Laine Stump wrote:
> The newly added call to qemuAuditNetDevice in qemuPhysIfaceConnect was
> assuming that res_ifname (the name of the macvtap device) was always
> valid, but this isn't the case. If openMacvtapTap fails, it always
> returns NULL, which would result in a segv.
>
> Since the audit log only needs a record of devices that are actually
> sent to qemu, and a failure to open the macvtap device means that no
> device will be sent to qemu, we can solve this problem by only doing
> the audit if openMacvtapTap is successful (in which case res_ifname is
> guaranteed valid).
> ---
> src/qemu/qemu_command.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 8ca656a..72f55d0 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -128,8 +128,8 @@ qemuPhysIfaceConnect(virDomainDefPtr def,
> net->data.direct.mode, vnet_hdr, def->uuid,
> &net->data.direct.virtPortProfile, &res_ifname,
> vmop);
> - qemuAuditNetDevice(def, net, res_ifname, rc >= 0);
> if (rc >= 0) {
> + qemuAuditNetDevice(def, net, res_ifname, true);
> VIR_FREE(net->ifname);
> net->ifname = res_ifname;
> }ACK. -- Eric Blake [email protected] +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
