From 8c46231056f7c633a9f8576018d764e3a0b7251f Mon Sep 17 00:00:00 2001 Message-Id: <8c46231056f7c633a9f8576018d764e3a0b7251f@dist-git> From: John Ferlan 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 (cherry picked from commit 69b850fe2a19d0c32ae2f209e8d8463df6ead665) Signed-off-by: Jiri Denemark --- 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