[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] xl: avoid (another) uninitialised use of rc in vcpuset()
commit 08b986f88b4c4c5d19a50b9883fff2dff582c7df Author: Dario Faggioli <dario.faggioli@xxxxxxxxxx> AuthorDate: Wed Nov 4 13:03:31 2015 +0100 Commit: Ian Campbell <ian.campbell@xxxxxxxxxx> CommitDate: Wed Nov 4 15:05:14 2015 +0000 xl: avoid (another) uninitialised use of rc in vcpuset() Rearange the case when we check the new number of vCPUs against the number of host pCPUs not to use rc for internal error reporting. In fact: - rc was at risk of being used uninitialised; - rc should only be used for holding libxl error codes. Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- tools/libxl/xl_cmdimpl.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 9b6b42c..78048a1 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -5457,21 +5457,21 @@ static int vcpuset(uint32_t domid, const char* nr_vcpus, int check_host) * by the host's amount of pCPUs. */ if (check_host) { - unsigned int host_cpu = libxl_get_max_cpus(ctx); + unsigned int online_vcpus, host_cpu = libxl_get_max_cpus(ctx); libxl_dominfo dominfo; if (libxl_domain_info(ctx, &dominfo, domid)) return 1; - if (max_vcpus > dominfo.vcpu_online && max_vcpus > host_cpu) { + online_vcpus = dominfo.vcpu_online; + libxl_dominfo_dispose(&dominfo); + + if (max_vcpus > online_vcpus && max_vcpus > host_cpu) { fprintf(stderr, "You are overcommmitting! You have %d physical" \ " CPUs and want %d vCPUs! Aborting, use --ignore-host to" \ " continue\n", host_cpu, max_vcpus); - rc = 1; - } - libxl_dominfo_dispose(&dominfo); - if (rc) return 1; + } } rc = libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus); if (rc) { -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |