On 02/02/2017 10:39 PM, Jim Fehlig wrote:
libxlGetAutoballoonConf is supposed to honor user-specified
autoballoon setting in libxl.conf. As written, the user-specified
setting could be overwritten by the subsequent logic to check
dom0_mem parameter. If user-specified setting is present and
correct, accept it. Only fallback to checking Xen dom0_mem
command line parameter if user-specfied setting is not present.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
Nice catch!
Reviewed-by: Joao Martins <joao.m.martins(a)oracle.com>
---
src/libxl/libxl_conf.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index b5186f2..ee1e639 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -1355,8 +1355,11 @@ libxlGetAutoballoonConf(libxlDriverConfigPtr cfg,
regex_t regex;
int res;
- if (virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon)
< 0)
+ res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
+ if (res < 0)
return -1;
+ else if (res == 1)
+ return 0;
if ((res = regcomp(®ex,
"(^| )dom0_mem=((|min:|max:)[0-9]+[bBkKmMgG]?,?)+($|
)",