[v2] batman-adv: silence smatch errors in multicast compat code

Message ID 1384198332-25345-1-git-send-email-sw@simonwunderlich.de (mailing list archive)
State Superseded, archived
Headers

Commit Message

Simon Wunderlich Nov. 11, 2013, 7:32 p.m. UTC
  smatch is reporting problems of unreachable code parts:

multicast.c:170 batadv_mcast_get_bridge() info: ignoring unreachable
code.
tmp/multicast.c:172 batadv_mcast_get_bridge() info: ignoring
unreachable code.

These are caused by compat code which returns within a loop, never
giving the rest of the function a chance to be processed. This can be
changed by slightly adjusting the compat code, setting the iterator
variable to NULL and let the original function handle the rest. This
does not introduce any functional change.

Introduced by: a3f58139efedb96222dffdda89896c243fdff49e
("batman-adv: Multicast Listener Announcements via Translation Table")

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
Changes to PATCH:
 * remove useless \
---
 compat.h |   16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
  

Patch

diff --git a/compat.h b/compat.h
index 186547b..86ef366 100644
--- a/compat.h
+++ b/compat.h
@@ -160,14 +160,12 @@  static inline int batadv_param_set_copystring(const char *val,
 #define NET_ADDR_RANDOM 0
 
 #define netdev_master_upper_dev_get_rcu(dev) \
-	upper; \
-	rcu_read_unlock(); \
+	NULL; \
 	if (dev->br_port ? 1 : 0) { \
+		rcu_read_unlock(); \
 		dev_hold(dev); \
 		return dev; \
-	} \
-\
-	return NULL\
+	}
 
 #endif /* < KERNEL_VERSION(2, 6, 36) */
 
@@ -344,14 +342,12 @@  static int __batadv_interface_set_mac_addr(x, y)
 
 #ifndef netdev_master_upper_dev_get_rcu
 #define netdev_master_upper_dev_get_rcu(dev) \
-	upper; \
-	rcu_read_unlock(); \
+	NULL; \
 	if (dev->priv_flags & IFF_BRIDGE_PORT) { \
+		rcu_read_unlock(); \
 		dev_hold(dev); \
 		return dev; \
-	} \
-\
-	return NULL\
+	}
 
 #endif /* netdev_master_upper_dev_get_rcu */