Commit 5a40420e authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'batadv-net-for-davem-20200114' of git://git.open-mesh.org/linux-merge



Simon Wunderlich says:

====================
Here is a batman-adv bugfix:

 - Fix DAT candidate selection on little endian systems,
   by Sven Eckelmann
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 536dc5df 4cc4a170
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -285,6 +285,7 @@ static u32 batadv_hash_dat(const void *data, u32 size)
	u32 hash = 0;
	u32 hash = 0;
	const struct batadv_dat_entry *dat = data;
	const struct batadv_dat_entry *dat = data;
	const unsigned char *key;
	const unsigned char *key;
	__be16 vid;
	u32 i;
	u32 i;


	key = (const unsigned char *)&dat->ip;
	key = (const unsigned char *)&dat->ip;
@@ -294,7 +295,8 @@ static u32 batadv_hash_dat(const void *data, u32 size)
		hash ^= (hash >> 6);
		hash ^= (hash >> 6);
	}
	}


	key = (const unsigned char *)&dat->vid;
	vid = htons(dat->vid);
	key = (__force const unsigned char *)&vid;
	for (i = 0; i < sizeof(dat->vid); i++) {
	for (i = 0; i < sizeof(dat->vid); i++) {
		hash += key[i];
		hash += key[i];
		hash += (hash << 10);
		hash += (hash << 10);