[PATCH 2/2] lxc: Fix access to hostdev capabilities

Michal Privoznik mprivozn at redhat.com
Tue Apr 25 08:04:41 UTC 2023


In a few places, where a capabilities <hostdev/> is processed, a
wrong union member is access: def->source.subsys.type instead of
def->source.caps.type. Fortunately, both union members have .type
as the very first member so no real harm is done. Nevertheless,
we should access the correct union member.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/lxc/lxc_controller.c | 2 +-
 src/lxc/lxc_hostdev.c    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 60b961dcb5..86dcd880e8 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -1788,7 +1788,7 @@ virLXCControllerSetupHostdevCaps(virDomainDef *vmDef,
                                  virDomainHostdevDef *def,
                                  virSecurityManager *securityDriver)
 {
-    switch (def->source.subsys.type) {
+    switch (def->source.caps.type) {
     case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_STORAGE:
         return virLXCControllerSetupHostdevCapsStorage(vmDef,
                                                        def,
diff --git a/src/lxc/lxc_hostdev.c b/src/lxc/lxc_hostdev.c
index d18d61cb19..8fe02a4276 100644
--- a/src/lxc/lxc_hostdev.c
+++ b/src/lxc/lxc_hostdev.c
@@ -85,7 +85,7 @@ int virLXCPrepareHostDevices(virLXCDriver *driver,
             break;
 
         case VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES:
-            switch (dev->source.subsys.type) {
+            switch (dev->source.caps.type) {
             case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_STORAGE:
             case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_MISC:
             case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_NET:
@@ -93,7 +93,7 @@ int virLXCPrepareHostDevices(virLXCDriver *driver,
             default:
                 virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                                _("Unsupported hostdev type %1$s"),
-                               virDomainHostdevSubsysTypeToString(dev->source.subsys.type));
+                               virDomainHostdevSubsysTypeToString(dev->source.caps.type));
                 return -1;
             }
             break;
-- 
2.39.2



More information about the libvir-list mailing list