linux/net/batman-adv
Sven Eckelmann c3caf5196c batman-adv: Remove unnecessary hardif_list_lock
hardif_list_lock is unneccessary because we already ensure that no
multiple admin operations can take place through rtnl_lock.
hardif_list_lock only adds additional overhead and complexity.

Critical functions now check whether they are called with rtnl_lock
using ASSERT_RTNL.

It indirectly fixes the problem that orig_hash_del_if() expects that
only one interface is deleted from hardif_list at a time, but
hardif_remove_interfaces() removes all at once and then calls
orig_hash_del_if().

Reported-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
2011-05-08 16:10:41 +02:00
..
aggregation.c batman-adv: Move definition of atomic_dec_not_zero() into main.h 2011-05-01 22:49:03 +02:00
aggregation.h batman-adv: rename batman_if struct to hard_iface 2011-03-05 12:52:06 +01:00
bat_debugfs.c batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
bat_debugfs.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
bat_sysfs.c batman-adv: Remove unnecessary hardif_list_lock 2011-05-08 16:10:41 +02:00
bat_sysfs.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
bitarray.c batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
bitarray.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
gateway_client.c batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
gateway_client.h batman-adv: concentrate all curr_gw related rcu operations in select/deselect functions 2011-04-17 21:11:01 +02:00
gateway_common.c batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
gateway_common.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
hard-interface.c batman-adv: Remove unnecessary hardif_list_lock 2011-05-08 16:10:41 +02:00
hard-interface.h batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
hash.c batman-adv: remove extra layer between hash and hash element - hash bucket 2011-03-05 12:52:00 +01:00
hash.h batman-adv: remove extra layer between hash and hash element - hash bucket 2011-03-05 12:52:00 +01:00
icmp_socket.c batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
icmp_socket.h batman-adv: Remove duplicate types.h inclusions 2011-02-11 23:30:29 +01:00
Kconfig
main.c batman-adv: Remove unnecessary hardif_list_lock 2011-05-08 16:10:41 +02:00
main.h batman-adv: Move definition of atomic_dec_not_zero() into main.h 2011-05-01 22:49:03 +02:00
Makefile batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
originator.c batman-adv: remove misplaced comment 2011-05-08 16:10:07 +02:00
originator.h batman-adv: Make orig_node->router an rcu protected pointer 2011-04-17 21:11:01 +02:00
packet.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
ring_buffer.c batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
ring_buffer.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
routing.c batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
routing.h batman-adv: Remove unused hdr_size variable in route_unicast_packet() 2011-03-05 12:52:08 +01:00
send.c batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
send.h batman-adv: rename batman_if struct to hard_iface 2011-03-05 12:52:06 +01:00
soft-interface.c batman-adv: Remove unnecessary hardif_list_lock 2011-05-08 16:10:41 +02:00
soft-interface.h batman-adv: Disallow regular interface as mesh device 2011-03-05 12:52:09 +01:00
translation-table.c batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
translation-table.h batman-adv: Remove duplicate types.h inclusions 2011-02-11 23:30:29 +01:00
types.h batman-adv: multi vlan support for bridge loop detection 2011-05-08 16:10:41 +02:00
unicast.c batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
unicast.h batman-adv: rename batman_if struct to hard_iface 2011-03-05 12:52:06 +01:00
vis.c batman-adv: Make bat_priv->primary_if an rcu protected pointer 2011-05-01 22:49:03 +02:00
vis.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00