From 7580c82980b049818843d90c3304d1c489d63de4 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 4 Dec 2018 08:45:15 +0100 Subject: [PATCH] syncNicRxFilterMultiMode: Check for helper's retval properly There are two functions called from syncNicRxFilterMultiMode: virNetDevSetRcvAllMulti() and virNetDevSetRcvMulti(). Both of them return 0 on success and -1 on error. However, currently their return value is checked for != 0 which conflicts with our assumptions on retvals: a positive value is still considered success but with current check it would lead to failure. Signed-off-by: Michal Privoznik --- src/qemu/qemu_driver.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8403492ec1..7bac10506b 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -4448,7 +4448,7 @@ syncNicRxFilterMultiMode(char *ifname, virNetDevRxFilterPtr guestFilter, guestFilter->multicast.mode == VIR_NETDEV_RX_FILTER_MODE_NORMAL)) { switch (guestFilter->multicast.mode) { case VIR_NETDEV_RX_FILTER_MODE_ALL: - if (virNetDevSetRcvAllMulti(ifname, true)) { + if (virNetDevSetRcvAllMulti(ifname, true) < 0) { VIR_WARN("Couldn't set allmulticast flag to 'on' for " "device %s while responding to " "NIC_RX_FILTER_CHANGED", ifname); @@ -4461,7 +4461,7 @@ syncNicRxFilterMultiMode(char *ifname, virNetDevRxFilterPtr guestFilter, break; } - if (virNetDevSetRcvMulti(ifname, true)) { + if (virNetDevSetRcvMulti(ifname, true) < 0) { VIR_WARN("Couldn't set multicast flag to 'on' for " "device %s while responding to " "NIC_RX_FILTER_CHANGED", ifname); @@ -4478,13 +4478,13 @@ syncNicRxFilterMultiMode(char *ifname, virNetDevRxFilterPtr guestFilter, break; case VIR_NETDEV_RX_FILTER_MODE_NONE: - if (virNetDevSetRcvAllMulti(ifname, false)) { + if (virNetDevSetRcvAllMulti(ifname, false) < 0) { VIR_WARN("Couldn't set allmulticast flag to 'off' for " "device %s while responding to " "NIC_RX_FILTER_CHANGED", ifname); } - if (virNetDevSetRcvMulti(ifname, false)) { + if (virNetDevSetRcvMulti(ifname, false) < 0) { VIR_WARN("Couldn't set multicast flag to 'off' for " "device %s while responding to " "NIC_RX_FILTER_CHANGED",