|
[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 |