[libvirt] [PATCH 07/20] node_device: reject unknown flags
Daniel Veillard
veillard at redhat.com
Thu Jul 7 03:16:03 UTC 2011
On Wed, Jul 06, 2011 at 05:23:50PM -0600, Eric Blake wrote:
> * 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 | 18 +++++++++++++-----
> src/node_device/node_device_hal.c | 4 +++-
> src/node_device/node_device_udev.c | 4 +++-
> 3 files changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
> index 842f903..681655e 100644
> --- a/src/node_device/node_device_driver.c
> +++ b/src/node_device/node_device_driver.c
> @@ -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);
> diff --git a/src/node_device/node_device_hal.c b/src/node_device/node_device_hal.c
> index d1dedfe..40962ba 100644
> --- a/src/node_device/node_device_hal.c
> +++ b/src/node_device/node_device_hal.c
> @@ -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(0, VIR_DRV_OPEN_ERROR);
> +
> if (driverState == NULL)
> return VIR_DRV_OPEN_DECLINED;
>
> diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
> index db26c6b..dfc5457 100644
> --- a/src/node_device/node_device_udev.c
> +++ b/src/node_device/node_device_udev.c
> @@ -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(0, VIR_DRV_OPEN_ERROR);
> +
> if (driverState == NULL) {
> return VIR_DRV_OPEN_DECLINED;
ACK,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list