99cbc7
From 408d9e217f05b6c68351804df56aa9c9af7db4e7 Mon Sep 17 00:00:00 2001
99cbc7
Message-Id: <408d9e217f05b6c68351804df56aa9c9af7db4e7@dist-git>
99cbc7
From: Wang Huaqiang <huaqiang.wang@intel.com>
99cbc7
Date: Mon, 15 Apr 2019 17:33:01 +0200
99cbc7
Subject: [PATCH] conf: Fix bug in finding alloc through matching vcpus
99cbc7
MIME-Version: 1.0
99cbc7
Content-Type: text/plain; charset=UTF-8
99cbc7
Content-Transfer-Encoding: 8bit
99cbc7
99cbc7
The @alloc object returned by virDomainResctrlVcpuMatch is not
99cbc7
properly referenced and un-referenced in virDomainCachetuneDefParse.
99cbc7
99cbc7
This patch fixes this problem.
99cbc7
99cbc7
Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
99cbc7
Reviewed-by: John Ferlan <jferlan@redhat.com>
99cbc7
(cherry picked from commit 3a1cdb06fd9bc5e35230f6198e697d6ec03d1206)
99cbc7
99cbc7
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1468650
99cbc7
99cbc7
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
99cbc7
Message-Id: <7049386040dc0d170193b5fbfc81f2a8335d0063.1555342313.git.phrdina@redhat.com>
99cbc7
Reviewed-by: Ján Tomko <jtomko@redhat.com>
99cbc7
---
99cbc7
 src/conf/domain_conf.c | 4 +---
99cbc7
 1 file changed, 1 insertion(+), 3 deletions(-)
99cbc7
99cbc7
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
99cbc7
index 74781fe596..6af14cc06f 100644
99cbc7
--- a/src/conf/domain_conf.c
99cbc7
+++ b/src/conf/domain_conf.c
99cbc7
@@ -19089,7 +19089,7 @@ virDomainResctrlVcpuMatch(virDomainDefPtr def,
99cbc7
          * Just updating memory allocation information of that group
99cbc7
          */
99cbc7
         if (virBitmapEqual(def->resctrls[i]->vcpus, vcpus)) {
99cbc7
-            *alloc = def->resctrls[i]->alloc;
99cbc7
+            *alloc = virObjectRef(def->resctrls[i]->alloc);
99cbc7
             break;
99cbc7
         }
99cbc7
         if (virBitmapOverlaps(def->resctrls[i]->vcpus, vcpus)) {
99cbc7
@@ -19386,8 +19386,6 @@ virDomainMemorytuneDefParse(virDomainDefPtr def,
99cbc7
         if (!alloc)
99cbc7
             goto cleanup;
99cbc7
         new_alloc = true;
99cbc7
-    } else {
99cbc7
-        alloc = virObjectRef(alloc);
99cbc7
     }
99cbc7
 
99cbc7
     for (i = 0; i < n; i++) {
99cbc7
-- 
99cbc7
2.21.0
99cbc7