Blob Blame History Raw
From 8c46231056f7c633a9f8576018d764e3a0b7251f Mon Sep 17 00:00:00 2001
Message-Id: <8c46231056f7c633a9f8576018d764e3a0b7251f@dist-git>
From: John Ferlan <jferlan@redhat.com>
Date: Thu, 9 Jul 2015 08:28:56 -0400
Subject: [PATCH] qemu: Fix integer/boolean logic in qemuSetUnprivSGIO

https://bugzilla.redhat.com/show_bug.cgi?id=1072736

Setting of 'val' is a boolean expression, so handle it that way and
adjust the check/return logic to be clearer

Signed-off-by: John Ferlan <jferlan@redhat.com>
(cherry picked from commit 69b850fe2a19d0c32ae2f209e8d8463df6ead665)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
 src/qemu/qemu_conf.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index d41f166..7d317d7 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1433,7 +1433,7 @@ qemuSetUnprivSGIO(virDomainDeviceDefPtr dev)
     virDomainHostdevDefPtr hostdev = NULL;
     char *sysfs_path = NULL;
     const char *path = NULL;
-    int val = -1;
+    bool val;
     int ret = -1;
 
     /* "sgio" is only valid for block disk; cdrom
@@ -1475,8 +1475,12 @@ qemuSetUnprivSGIO(virDomainDeviceDefPtr dev)
      * whitelist is enabled.  But if requesting unfiltered access, always call
      * virSetDeviceUnprivSGIO, to report an error for unsupported unpriv_sgio.
      */
-    if ((virFileExists(sysfs_path) || val == 1) &&
-        virSetDeviceUnprivSGIO(path, NULL, val) < 0)
+    if (!val || !virFileExists(sysfs_path)) {
+        ret = 0;
+        goto cleanup;
+    }
+
+    if (virSetDeviceUnprivSGIO(path, NULL, 1) < 0)
         goto cleanup;
 
     ret = 0;
-- 
2.5.1