tipc: fix shift wrapping bug in map_get()

[ Upstream commit e2b224abd9bf45dcb55750479fc35970725a430b ]

There is a shift wrapping bug in this code so anything thing above
31 will return false.

Fixes: 35c55c9877 ("tipc: add neighbor monitoring framework")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Dan Carpenter
2022-08-31 17:47:56 +03:00
committed by Greg Kroah-Hartman
parent 2ee85ac1b2
commit 22922da737

View File

@@ -130,7 +130,7 @@ static void map_set(u64 *up_map, int i, unsigned int v)
static int map_get(u64 up_map, int i) static int map_get(u64 up_map, int i)
{ {
return (up_map & (1 << i)) >> i; return (up_map & (1ULL << i)) >> i;
} }
static struct tipc_peer *peer_prev(struct tipc_peer *peer) static struct tipc_peer *peer_prev(struct tipc_peer *peer)