[libvirt PATCH 1/2] hostdev: Update mdev pointer reference after checking device type

Erik Skultety eskultet at redhat.com
Thu Jan 7 16:34:06 UTC 2021


We set the pointer to some garbage packed structure data without
knowing whether it actually we were handling the type of device we
expected to be handling. On its own, this was harmless, because we'd
never use the pointer as we'd skip the device if it were not the
expected type. However, it's better to make the logic even more
explicit - we first check the device and only when we're sure we have
the expected type we then update the pointer shortcut.

Signed-off-by: Erik Skultety <eskultet at redhat.com>
---
 src/hypervisor/virhostdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c
index 120187b07a..aa3fc8738f 100644
--- a/src/hypervisor/virhostdev.c
+++ b/src/hypervisor/virhostdev.c
@@ -1980,11 +1980,11 @@ virHostdevReAttachMediatedDevices(virHostdevManagerPtr mgr,
         virDomainHostdevSubsysMediatedDevPtr mdevsrc;
         virDomainHostdevDefPtr hostdev = hostdevs[i];
 
-        mdevsrc = &hostdev->source.subsys.u.mdev;
-
         if (!virHostdevIsMdevDevice(hostdev))
             continue;
 
+        mdevsrc = &hostdev->source.subsys.u.mdev;
+
         if (!(mdev = virMediatedDeviceNew(mdevsrc->uuidstr,
                                           mdevsrc->model)))
             continue;
-- 
2.29.2




More information about the libvir-list mailing list