mirror of https://gitee.com/openkylin/linux.git
batman-adv: Add lockdep assert for container_list_lock
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>
This commit is contained in:
parent
81f0268350
commit
dded069224
|
@ -697,6 +697,8 @@ static struct batadv_tvlv_container
|
||||||
{
|
{
|
||||||
struct batadv_tvlv_container *tvlv_tmp, *tvlv = NULL;
|
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) {
|
hlist_for_each_entry(tvlv_tmp, &bat_priv->tvlv.container_list, list) {
|
||||||
if (tvlv_tmp->tvlv_hdr.type != type)
|
if (tvlv_tmp->tvlv_hdr.type != type)
|
||||||
continue;
|
continue;
|
||||||
|
@ -729,6 +731,8 @@ static u16 batadv_tvlv_container_list_size(struct batadv_priv *bat_priv)
|
||||||
struct batadv_tvlv_container *tvlv;
|
struct batadv_tvlv_container *tvlv;
|
||||||
u16 tvlv_len = 0;
|
u16 tvlv_len = 0;
|
||||||
|
|
||||||
|
lockdep_assert_held(&bat_priv->tvlv.container_list_lock);
|
||||||
|
|
||||||
hlist_for_each_entry(tvlv, &bat_priv->tvlv.container_list, list) {
|
hlist_for_each_entry(tvlv, &bat_priv->tvlv.container_list, list) {
|
||||||
tvlv_len += sizeof(struct batadv_tvlv_hdr);
|
tvlv_len += sizeof(struct batadv_tvlv_hdr);
|
||||||
tvlv_len += ntohs(tvlv->tvlv_hdr.len);
|
tvlv_len += ntohs(tvlv->tvlv_hdr.len);
|
||||||
|
|
Loading…
Reference in New Issue