xl: avoid (another) uninitialised use of rc in vcpuset()
PATCH 1/1 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.
---
Cc: Ian Campbell <[email protected]>
Cc: Ian Jackson <[email protected]>
Cc: Wei Liu <[email protected]>
Cc: Harmandeep Kaur <[email protected]>
Cc: Andrew Cooper <[email protected]>
--- tools/libxl/xl_cmdimpl.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
tools/libxl/xl_cmdimpl.c +6 -6
@@ -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) {
Quoted 7 lines · Dario Faggioli
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 <[email protected]>
acked + applied.
Quoted 37 lines
---
Cc: Ian Campbell <[email protected]>
Cc: Ian Jackson <[email protected]>
Cc: Wei Liu <[email protected]>
Cc: Harmandeep Kaur <[email protected]>
Cc: Andrew Cooper <[email protected]>
---
tools/libxl/xl_cmdimpl.c | 12 ++++++------1 file changed, 6 insertions(+), 6 deletions(-)tools/libxl/xl_cmdimpl.c +1
-1@@ -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;
Quoted 9 lines
- }
- libxl_dominfo_dispose(&dominfo);
- if (rc)
return 1;
+ }
}
rc =libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus); if (rc) {
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel