b.a.t.m.a.n.lists.open-mesh.org archive mirror
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [PATCH 1/2] batman-adv: set TT_CLIENT_NEW flag before invoking hash_add()
@ 2012-01-06 20:31 Antonio Quartulli
  2012-01-06 20:31 ` [B.A.T.M.A.N.] [PATCH 2/2] batman-adv: move debug print into tt_local_set_pending Antonio Quartulli
  2012-01-08 19:51 ` [B.A.T.M.A.N.] [PATCH 1/2] batman-adv: set TT_CLIENT_NEW flag before invoking hash_add() Marek Lindner
  0 siblings, 2 replies; 4+ messages in thread
From: Antonio Quartulli @ 2012-01-06 20:31 UTC (permalink / raw)
  To: b.a.t.m.a.n

In case of a new tt_local_entry, the TT_CLIENT_NEW flag has to be set before
adding such entry to the hash table. Otherwise, a concurrent a tt_query_reply
forging operation could select such entry (as it is already in the hash table)
even if it should not.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 translation-table.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/translation-table.c b/translation-table.c
index 7ea4c42..b493ab4 100644
--- a/translation-table.c
+++ b/translation-table.c
@@ -210,6 +210,11 @@ void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
 	if (compare_eth(addr, soft_iface->dev_addr))
 		tt_local_entry->common.flags |= TT_CLIENT_NOPURGE;
 
+	/* The local entry has to be marked as NEW to avoid to send it in
+	 * a full table response going out before the next ttvn increment
+	 * (consistency check) */
+	tt_local_entry->common.flags |= TT_CLIENT_NEW;
+
 	hash_added = hash_add(bat_priv->tt_local_hash, compare_tt, choose_orig,
 			 &tt_local_entry->common,
 			 &tt_local_entry->common.hash_entry);
@@ -222,11 +227,6 @@ void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
 
 	tt_local_event(bat_priv, addr, tt_local_entry->common.flags);
 
-	/* The local entry has to be marked as NEW to avoid to send it in
-	 * a full table response going out before the next ttvn increment
-	 * (consistency check) */
-	tt_local_entry->common.flags |= TT_CLIENT_NEW;
-
 	/* remove address from global hash if present */
 	tt_global_entry = tt_global_hash_find(bat_priv, addr);
 
-- 
1.7.3.4


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

end of thread, other threads:[~2012-01-08 19:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-06 20:31 [B.A.T.M.A.N.] [PATCH 1/2] batman-adv: set TT_CLIENT_NEW flag before invoking hash_add() Antonio Quartulli
2012-01-06 20:31 ` [B.A.T.M.A.N.] [PATCH 2/2] batman-adv: move debug print into tt_local_set_pending Antonio Quartulli
2012-01-08 19:58   ` Marek Lindner
2012-01-08 19:51 ` [B.A.T.M.A.N.] [PATCH 1/2] batman-adv: set TT_CLIENT_NEW flag before invoking hash_add() Marek Lindner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).