]> xenbits.xensource.com Git - libvirt.git/commitdiff
syncNicRxFilterMultiMode: Check for helper's retval properly
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 4 Dec 2018 07:45:15 +0000 (08:45 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 4 Dec 2018 07:45:15 +0000 (08:45 +0100)
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 <mprivozn@redhat.com>
src/qemu/qemu_driver.c

index 8403492ec125480f4f58d7d7016fac4e3e45f34e..7bac10506b7ed74faed084e3dc8334e3be73e865 100644 (file)
@@ -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",