]> xenbits.xensource.com Git - libvirt.git/commitdiff
vircgroup: fix g_variant_new_parsed format string causing abort
authorPavel Hrdina <phrdina@redhat.com>
Thu, 27 Jun 2024 16:05:18 +0000 (18:05 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Fri, 28 Jun 2024 14:51:33 +0000 (16:51 +0200)
The original code was incorrect and never tested because at the time of
implementing it the cgroup file `io.weight` was not available.

Resolves: https://issues.redhat.com/browse/RHEL-45185
Introduced-by: 9c1693eff427661616ce1bd2795688f87288a412
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/util/vircgroupv1.c
src/util/vircgroupv2.c

index 77c7e209ce4b6223a1c9f5cb9551662a75cbce14..c1f0562249f30a61e64c9435690c32a6cb0b3f42 100644 (file)
@@ -1225,7 +1225,7 @@ virCgroupV1SetBlkioDeviceWeight(virCgroup *group,
     if (group->unitName) {
         GVariant *value = NULL;
 
-        value = g_variant_new_parsed("[(%s, uint64 %u)]", path, weight);
+        value = g_variant_new_parsed("[(%s, %t)]", path, weight);
 
         return virCgroupSetValueDBus(group->unitName, "BlockIODeviceWeight", value);
     } else {
index db115e25f7496cd285e770425b89c4bb566ba2ac..eaf5ae98f6f0e0872e569ea6f19be92ae3bbbdd6 100644 (file)
@@ -867,7 +867,7 @@ virCgroupV2SetBlkioDeviceWeight(virCgroup *group,
     if (group->unitName) {
         GVariant *value = NULL;
 
-        value = g_variant_new_parsed("[(%s, uint64 %u)]", path, weight);
+        value = g_variant_new_parsed("[(%s, %t)]", path, weight);
 
         return virCgroupSetValueDBus(group->unitName, "IODeviceWeight", value);
     } else {