Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9bb21882 authored by Markus Pargmann's avatar Markus Pargmann Committed by Antonio Quartulli
Browse files

batman-adv: debugfs, avoid compiling for !DEBUG_FS



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: default avatarMarkus Pargmann <mpa@pengutronix.de>
Signed-off-by: default avatarMarek Lindner <mareklindner@neomailbox.ch>
parent 83e8b877
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@ obj-$(CONFIG_BATMAN_ADV) += batman-adv.o
batman-adv-y += bat_iv_ogm.o
batman-adv-y += bat_iv_ogm.o
batman-adv-y += bitarray.o
batman-adv-y += bitarray.o
batman-adv-$(CONFIG_BATMAN_ADV_BLA) += bridge_loop_avoidance.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-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o
batman-adv-y += fragmentation.o
batman-adv-y += fragmentation.o
batman-adv-y += gateway_client.o
batman-adv-y += gateway_client.o
+0 −8
Original line number Original line Diff line number Diff line
@@ -482,11 +482,7 @@ int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface)
	debugfs_remove_recursive(hard_iface->debug_dir);
	debugfs_remove_recursive(hard_iface->debug_dir);
	hard_iface->debug_dir = NULL;
	hard_iface->debug_dir = NULL;
out:
out:
#ifdef CONFIG_DEBUG_FS
	return -ENOMEM;
	return -ENOMEM;
#else
	return 0;
#endif /* CONFIG_DEBUG_FS */
}
}


/**
/**
@@ -541,11 +537,7 @@ int batadv_debugfs_add_meshif(struct net_device *dev)
	debugfs_remove_recursive(bat_priv->debug_dir);
	debugfs_remove_recursive(bat_priv->debug_dir);
	bat_priv->debug_dir = NULL;
	bat_priv->debug_dir = NULL;
out:
out:
#ifdef CONFIG_DEBUG_FS
	return -ENOMEM;
	return -ENOMEM;
#else
	return 0;
#endif /* CONFIG_DEBUG_FS */
}
}


void batadv_debugfs_del_meshif(struct net_device *dev)
void batadv_debugfs_del_meshif(struct net_device *dev)
+34 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,8 @@


#define BATADV_DEBUGFS_SUBDIR "batman_adv"
#define BATADV_DEBUGFS_SUBDIR "batman_adv"


#if IS_ENABLED(CONFIG_DEBUG_FS)

void batadv_debugfs_init(void);
void batadv_debugfs_init(void);
void batadv_debugfs_destroy(void);
void batadv_debugfs_destroy(void);
int batadv_debugfs_add_meshif(struct net_device *dev);
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);
int batadv_debugfs_add_hardif(struct batadv_hard_iface *hard_iface);
void batadv_debugfs_del_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_ */
#endif /* _NET_BATMAN_ADV_DEBUGFS_H_ */