]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
node_device: reject unknown flags
authorEric Blake <eblake@redhat.com>
Wed, 6 Jul 2011 22:21:23 +0000 (16:21 -0600)
committerEric Blake <eblake@redhat.com>
Wed, 13 Jul 2011 15:04:54 +0000 (09:04 -0600)
* src/node_device/node_device_driver.c (nodeNumOfDevices)
(nodeListDevices, nodeDeviceGetXMLDesc, nodeDeviceCreateXML):
Reject unknown flags.
* src/node_device/node_device_hal.c (halNodeDrvOpen): Likewise.
* src/node_device/node_device_udev.c (udevNodeDrvOpen): Likewise.

src/node_device/node_device_driver.c
src/node_device/node_device_hal.c
src/node_device/node_device_udev.c

index 842f903ad986cae40fb09f72601d493d89ee667e..681655e5123152e3db6d0a283ac3e4bafc878547 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * node_device.c: node device enumeration
  *
- * Copyright (C) 2010 Red Hat, Inc.
+ * Copyright (C) 2010-2011 Red Hat, Inc.
  * Copyright (C) 2008 Virtual Iron Software, Inc.
  * Copyright (C) 2008 David F. Lively
  *
@@ -125,12 +125,14 @@ void nodeDeviceUnlock(virDeviceMonitorStatePtr driver)
 int
 nodeNumOfDevices(virConnectPtr conn,
                  const char *cap,
-                 unsigned int flags ATTRIBUTE_UNUSED)
+                 unsigned int flags)
 {
     virDeviceMonitorStatePtr driver = conn->devMonPrivateData;
     int ndevs = 0;
     unsigned int i;
 
+    virCheckFlags(0, -1);
+
     nodeDeviceLock(driver);
     for (i = 0; i < driver->devs.count; i++) {
         virNodeDeviceObjLock(driver->devs.objs[i]);
@@ -148,12 +150,14 @@ int
 nodeListDevices(virConnectPtr conn,
                 const char *cap,
                 char **const names, int maxnames,
-                unsigned int flags ATTRIBUTE_UNUSED)
+                unsigned int flags)
 {
     virDeviceMonitorStatePtr driver = conn->devMonPrivateData;
     int ndevs = 0;
     unsigned int i;
 
+    virCheckFlags(0, -1);
+
     nodeDeviceLock(driver);
     for (i = 0; i < driver->devs.count && ndevs < maxnames; i++) {
         virNodeDeviceObjLock(driver->devs.objs[i]);
@@ -254,12 +258,14 @@ out:
 
 char *
 nodeDeviceGetXMLDesc(virNodeDevicePtr dev,
-                     unsigned int flags ATTRIBUTE_UNUSED)
+                     unsigned int flags)
 {
     virDeviceMonitorStatePtr driver = dev->conn->devMonPrivateData;
     virNodeDeviceObjPtr obj;
     char *ret = NULL;
 
+    virCheckFlags(0, NULL);
+
     nodeDeviceLock(driver);
     obj = virNodeDeviceFindByName(&driver->devs, dev->name);
     nodeDeviceUnlock(driver);
@@ -545,7 +551,7 @@ find_new_device(virConnectPtr conn, const char *wwnn, const char *wwpn)
 virNodeDevicePtr
 nodeDeviceCreateXML(virConnectPtr conn,
                     const char *xmlDesc,
-                    unsigned int flags ATTRIBUTE_UNUSED)
+                    unsigned int flags)
 {
     virDeviceMonitorStatePtr driver = conn->devMonPrivateData;
     virNodeDeviceDefPtr def = NULL;
@@ -553,6 +559,8 @@ nodeDeviceCreateXML(virConnectPtr conn,
     int parent_host = -1;
     virNodeDevicePtr dev = NULL;
 
+    virCheckFlags(0, NULL);
+
     nodeDeviceLock(driver);
 
     def = virNodeDeviceDefParseString(xmlDesc, CREATE_DEVICE);
index d1dedfe562aec06c2448861437b6c243afa7a51a..421f5ad3e0cb63d940d9b08f94236e8fc71ee03a 100644 (file)
@@ -862,8 +862,10 @@ static int halDeviceMonitorActive(void)
 
 static virDrvOpenStatus halNodeDrvOpen(virConnectPtr conn,
                                        virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                       unsigned int flags ATTRIBUTE_UNUSED)
+                                       unsigned int flags)
 {
+    virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
     if (driverState == NULL)
         return VIR_DRV_OPEN_DECLINED;
 
index db26c6b40575e9950276484002922295357d7296..a6b5b2e8b8b96a211faeaa75f9cee1bfb4af2065 100644 (file)
@@ -1721,8 +1721,10 @@ static int udevDeviceMonitorActive(void)
 
 static virDrvOpenStatus udevNodeDrvOpen(virConnectPtr conn,
                                         virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                        unsigned int flags ATTRIBUTE_UNUSED)
+                                        unsigned int flags)
 {
+    virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
     if (driverState == NULL) {
         return VIR_DRV_OPEN_DECLINED;
     }