[libvirt] [PATCH] qemu: Correctly label migration TCP socket passed to qemu

Eric Blake eblake at redhat.com
Thu Aug 25 14:16:58 UTC 2011


On 08/25/2011 04:35 AM, Jiri Denemark wrote:
> ---
>   src/qemu/qemu_migration.c |    9 ++++++---
>   1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index a84faf6..d787a09 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -1484,9 +1484,12 @@ qemuMigrationRun(struct qemud_driver *driver,
>       case MIGRATION_DEST_FD:
>           if (spec->fwdType != MIGRATION_FWD_DIRECT)
>               fd = spec->dest.fd.local;
> -        ret = qemuMonitorMigrateToFd(priv->mon, migrate_flags,
> -                                     spec->dest.fd.qemu);
> -        VIR_FORCE_CLOSE(spec->dest.fd.qemu);

Unconditional, changed to...

> +        if (virSecurityManagerSetImageFDLabel(driver->securityManager, vm,
> +                                              spec->dest.fd.qemu) == 0) {
> +            ret = qemuMonitorMigrateToFd(priv->mon, migrate_flags,
> +                                         spec->dest.fd.qemu);
> +            VIR_FORCE_CLOSE(spec->dest.fd.qemu);

...conditional.  Oops - you leak the fd if changing the label fails.

Needs a v2.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list