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

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
...@@ -285,6 +285,7 @@ static u32 batadv_hash_dat(const void *data, u32 size) ...@@ -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) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment