batman-adv: Add lockdep assert for container_list_lock
authorSven Eckelmann <sven@narfation.org>
Sun, 20 Dec 2015 08:04:03 +0000 (09:04 +0100)
committerAntonio Quartulli <a@unstable.cc>
Wed, 10 Feb 2016 15:23:58 +0000 (23:23 +0800)
The batadv_tvlv_container* functions state in their kernel-doc that they
require tvlv.container_list_lock. Add an assert to automatically detect
when this might have been ignored by the caller.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
net/batman-adv/main.c

index 5f319fd..a9b4f75 100644 (file)
@@ -697,6 +697,8 @@ static struct batadv_tvlv_container
 {
        struct batadv_tvlv_container *tvlv_tmp, *tvlv = NULL;
 
+       lockdep_assert_held(&bat_priv->tvlv.container_list_lock);
+
        hlist_for_each_entry(tvlv_tmp, &bat_priv->tvlv.container_list, list) {
                if (tvlv_tmp->tvlv_hdr.type != type)
                        continue;
@@ -729,6 +731,8 @@ static u16 batadv_tvlv_container_list_size(struct batadv_priv *bat_priv)
        struct batadv_tvlv_container *tvlv;
        u16 tvlv_len = 0;
 
+       lockdep_assert_held(&bat_priv->tvlv.container_list_lock);
+
        hlist_for_each_entry(tvlv, &bat_priv->tvlv.container_list, list) {
                tvlv_len += sizeof(struct batadv_tvlv_hdr);
                tvlv_len += ntohs(tvlv->tvlv_hdr.len);