public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [PATCH] batman-adv: Fix rcu_lock imbalance in softif_neigh_get
@ 2011-05-04 19:14 Sven Eckelmann
  2011-05-04 22:53 ` Marek Lindner
  0 siblings, 1 reply; 2+ messages in thread
From: Sven Eckelmann @ 2011-05-04 19:14 UTC (permalink / raw)
  To: b.a.t.m.a.n

Fix extra rcu_read_unlock after an failed softif_neigh_vid_get in
softif_neigh_get introduced by 0281a6aab718965d7c0ef45c4ba22e305f6aefe7

Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
 soft-interface.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/soft-interface.c b/soft-interface.c
index 1827734..8023c4e 100644
--- a/soft-interface.c
+++ b/soft-interface.c
@@ -175,12 +175,12 @@ static struct softif_neigh *softif_neigh_get(struct bat_priv *bat_priv,
 			continue;
 
 		softif_neigh->last_seen = jiffies;
-		goto out;
+		goto unlock;
 	}
 
 	softif_neigh = kzalloc(sizeof(struct softif_neigh), GFP_ATOMIC);
 	if (!softif_neigh)
-		goto out;
+		goto unlock;
 
 	memcpy(softif_neigh->addr, addr, ETH_ALEN);
 	softif_neigh->last_seen = jiffies;
@@ -193,8 +193,9 @@ static struct softif_neigh *softif_neigh_get(struct bat_priv *bat_priv,
 			   &softif_neigh_vid->softif_neigh_list);
 	spin_unlock_bh(&bat_priv->softif_neigh_lock);
 
-out:
+unlock:
 	rcu_read_unlock();
+out:
 	if (softif_neigh_vid)
 		softif_neigh_vid_free_ref(softif_neigh_vid);
 	return softif_neigh;
-- 
1.7.4.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-05-04 22:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-04 19:14 [B.A.T.M.A.N.] [PATCH] batman-adv: Fix rcu_lock imbalance in softif_neigh_get Sven Eckelmann
2011-05-04 22:53 ` Marek Lindner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox