ipv6: fix ipv6_prefix_equal64_half mask conversion
Fix the 64bit optimized version of ipv6_prefix_equal to convert the
bitmask to network byte order only after the bit-shift.
The bug was introduced in:
3867517
ipv6: 64bit version of ipv6_prefix_equal().
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c2a936600f
commit
512613d7dd
|
@ -404,7 +404,7 @@ static inline bool __ipv6_prefix_equal64_half(const __be64 *a1,
|
||||||
const __be64 *a2,
|
const __be64 *a2,
|
||||||
unsigned int len)
|
unsigned int len)
|
||||||
{
|
{
|
||||||
if (len && ((*a1 ^ *a2) & cpu_to_be64(~0UL) << (64 - len)))
|
if (len && ((*a1 ^ *a2) & cpu_to_be64((~0UL) << (64 - len))))
|
||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue