[libvirt] [PATCH 02/20] libxl: Fix possible deadlock in libxlDomainMigrateBegin3Params

Jim Fehlig jfehlig at suse.com
Fri Mar 9 22:33:09 UTC 2018


On 03/09/2018 09:47 AM, John Ferlan wrote:
> Commit id '45697fe5' added a check for "Domain-0" to generate
> an error during libxlDomainMigrateBegin3Params; however, by
> returning NULL, the @vm was left locked since libxlDomObjFromDomain
> returns a locked @vm.
> 
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>   src/libxl/libxl_driver.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
> index c3616a86d..b5101626e 100644
> --- a/src/libxl/libxl_driver.c
> +++ b/src/libxl/libxl_driver.c
> @@ -5895,9 +5895,10 @@ libxlDomainMigrateBegin3Params(virDomainPtr domain,
>           return NULL;
>   
>       if (STREQ_NULLABLE(vm->def->name, "Domain-0")) {
> -            virReportError(VIR_ERR_OPERATION_INVALID, "%s",
> -                           _("Domain-0 cannot be migrated"));
> -            return NULL;
> +        virReportError(VIR_ERR_OPERATION_INVALID, "%s",
> +                       _("Domain-0 cannot be migrated"));
> +        virObjectUnlock(vm);
> +        return NULL;
>       }
>   
>       if (virDomainMigrateBegin3ParamsEnsureACL(domain->conn, vm->def) < 0) {
> 

Reviewed-by: Jim Fehlig <jfehlig at suse.com>

Regards,
Jim




More information about the libvir-list mailing list