[libvirt] [PATCH 1/2] Allow access to vendor and device file for PCI device passthrough

Cédric Bosdonnat cbosdonnat at suse.com
Thu Apr 23 07:38:06 UTC 2015


For some devices, the $PCIDIR/vendor and $PCIDIR/device need to be
read. Iterate over them to get them as well in the the generated
apparmor profile.
---
 src/util/virpci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/util/virpci.c b/src/util/virpci.c
index 512e839..cf2a253 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -1955,11 +1955,13 @@ int virPCIDeviceFileIterate(virPCIDevicePtr dev,
     while ((direrr = virDirRead(dir, &ent, pcidir)) > 0) {
         /* Device assignment requires:
          *   $PCIDIR/config, $PCIDIR/resource, $PCIDIR/resourceNNN,
-         *   $PCIDIR/rom, $PCIDIR/reset
+         *   $PCIDIR/rom, $PCIDIR/reset, $PCIDIR/vendor, $PCIDIR/device
          */
         if (STREQ(ent->d_name, "config") ||
             STRPREFIX(ent->d_name, "resource") ||
             STREQ(ent->d_name, "rom") ||
+            STREQ(ent->d_name, "vendor") ||
+            STREQ(ent->d_name, "device") ||
             STREQ(ent->d_name, "reset")) {
             if (virAsprintf(&file, "%s/%s", pcidir, ent->d_name) < 0)
                 goto cleanup;
-- 
2.1.4




More information about the libvir-list mailing list