lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 14 Dec 2011 13:25:58 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	David Miller <davem@...emloft.net>, <netdev@...r.kernel.org>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Antonio Quartulli <ordex@...istici.org>
Subject: linux-next: manual merge of the net-next tree with the net tree

Hi all,

Today's linux-next merge of the net-next tree got conflicts in
net/batman-adv/translation-table.c between commits 03fc3070457d
("batman-adv: in case of roaming mark the client with TT_CLIENT_ROAM")
and 797399b415b7 ("batman-adv: delete global entry in case of roaming")
from the net tree and commit 48100bac89a6 ("batman-adv: create a common
substructure for tt_global/local_entry") from the net-next tree.

I fixed it up (I think - see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc net/batman-adv/translation-table.c
index 5f09a57,cc87acf..0000000
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@@ -245,12 -242,10 +242,12 @@@ void tt_local_add(struct net_device *so
  	if (tt_global_entry) {
  		/* This node is probably going to update its tt table */
  		tt_global_entry->orig_node->tt_poss_change = true;
 -		/* The global entry has to be marked as PENDING and has to be
 +		/* The global entry has to be marked as ROAMING and has to be
  		 * kept for consistency purpose */
- 		tt_global_entry->flags |= TT_CLIENT_ROAM;
 -		tt_global_entry->common.flags |= TT_CLIENT_PENDING;
++		tt_global_entry->common.flags |= TT_CLIENT_ROAM;
 +		tt_global_entry->roam_at = jiffies;
 +
- 		send_roam_adv(bat_priv, tt_global_entry->addr,
+ 		send_roam_adv(bat_priv, tt_global_entry->common.addr,
  			      tt_global_entry->orig_node);
  	}
  out:
@@@ -704,21 -668,9 +671,21 @@@ void tt_global_del(struct bat_priv *bat
  
  	if (tt_global_entry->orig_node == orig_node) {
  		if (roaming) {
 -			tt_global_entry->common.flags |= TT_CLIENT_ROAM;
 -			tt_global_entry->roam_at = jiffies;
 -			goto out;
 +			/* if we are deleting a global entry due to a roam
 +			 * event, there are two possibilities:
 +			 * 1) the client roamed from node A to node B => we mark
 +			 *    it with TT_CLIENT_ROAM, we start a timer and we
 +			 *    wait for node B to claim it. In case of timeout
 +			 *    the entry is purged.
 +			 * 2) the client roamed to us => we can directly delete
 +			 *    the global entry, since it is useless now. */
 +			tt_local_entry = tt_local_hash_find(bat_priv,
 -							tt_global_entry->addr);
++							tt_global_entry->common.addr);
 +			if (!tt_local_entry) {
- 				tt_global_entry->flags |= TT_CLIENT_ROAM;
++				tt_global_entry->common.flags |= TT_CLIENT_ROAM;
 +				tt_global_entry->roam_at = jiffies;
 +				goto out;
 +			}
  		}
  		_tt_global_del(bat_priv, tt_global_entry, message);
  	}

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists