batman-adv: debugfs, avoid compiling for !DEBUG_FS
authorMarkus Pargmann <mpa@pengutronix.de>
Fri, 26 Dec 2014 11:41:18 +0000 (12:41 +0100)
committerAntonio Quartulli <antonio@meshcoding.com>
Fri, 29 May 2015 08:13:35 +0000 (10:13 +0200)
Normally the debugfs framework will return error pointer with -ENODEV
for function calls when DEBUG_FS is not set.

batman does not notice this error code and continues trying to create
debugfs files and executes more code. We can avoid this code execution
by disabling compiling debugfs.c when DEBUG_FS is not set.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
net/batman-adv/Makefile
net/batman-adv/debugfs.c
net/batman-adv/debugfs.h

index 79833ebcc2ddaf2671221b53b4a0621517308ea6..bd7e343c98d192d99e770370b15c8bd88ce2b869 100644 (file)
@@ -20,7 +20,7 @@ obj-$(CONFIG_BATMAN_ADV) += batman-adv.o
 batman-adv-y += bat_iv_ogm.o
 batman-adv-y += bitarray.o
 batman-adv-$(CONFIG_BATMAN_ADV_BLA) += bridge_loop_avoidance.o
-batman-adv-y += debugfs.o
+batman-adv-$(CONFIG_DEBUG_FS) += debugfs.o
 batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o
 batman-adv-y += fragmentation.o
 batman-adv-y += gateway_client.o
index 0c213a89229617c9fbcc469183b605125cf57d37..46118084221a1c05f2d98ddf10f5bc9bb905305c 100644 (file)
@@ -482,11 +482,7 @@ rem_attr:
        debugfs_remove_recursive(hard_iface->debug_dir);
        hard_iface->debug_dir = NULL;
 out:
-#ifdef CONFIG_DEBUG_FS
        return -ENOMEM;
-#else
-       return 0;
-#endif /* CONFIG_DEBUG_FS */
 }
 
 /**
@@ -541,11 +537,7 @@ rem_attr:
        debugfs_remove_recursive(bat_priv->debug_dir);
        bat_priv->debug_dir = NULL;
 out:
-#ifdef CONFIG_DEBUG_FS
        return -ENOMEM;
-#else
-       return 0;
-#endif /* CONFIG_DEBUG_FS */
 }
 
 void batadv_debugfs_del_meshif(struct net_device *dev)
index f3b49c3944465e6a969b94d7e59f35dcc07c5954..ed25605ca7324f956458fe820081affcadd9f205 100644 (file)
@@ -20,6 +20,8 @@
 
 #define BATADV_DEBUGFS_SUBDIR "batman_adv"
 
+#if IS_ENABLED(CONFIG_DEBUG_FS)
+
 void batadv_debugfs_init(void);
 void batadv_debugfs_destroy(void);
 int batadv_debugfs_add_meshif(struct net_device *dev);
@@ -27,4 +29,36 @@ void batadv_debugfs_del_meshif(struct net_device *dev);
 int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface);
 void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface);
 
+#else
+
+static inline void batadv_debugfs_init(void)
+{
+}
+
+static inline void batadv_debugfs_destroy(void)
+{
+}
+
+static inline int batadv_debugfs_add_meshif(struct net_device *dev)
+{
+       return 0;
+}
+
+static inline void batadv_debugfs_del_meshif(struct net_device *dev)
+{
+}
+
+static inline
+int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface)
+{
+       return 0;
+}
+
+static inline
+void batadv_debugfs_del_hardif(struct batadv_hard_iface *hard_iface)
+{
+}
+
+#endif
+
 #endif /* _NET_BATMAN_ADV_DEBUGFS_H_ */