ipv4: use siphash instead of Jenkins in fnhe_hashfun()
authorEric Dumazet <edumazet@google.com>
Wed, 25 Aug 2021 23:17:29 +0000 (16:17 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Sep 2021 08:09:25 +0000 (10:09 +0200)
commitbeefd5f0c63a31a83bc5a99e6888af884745684b
tree91ea68517fc23b1304fe9df068ba4b895cbeff07
parentdced8347a727528b388f04820f48166f1e651af6
ipv4: use siphash instead of Jenkins in fnhe_hashfun()

[ Upstream commit 6457378fe796815c973f631a1904e147d6ee33b1 ]

A group of security researchers brought to our attention
the weakness of hash function used in fnhe_hashfun().

Lets use siphash instead of Jenkins Hash, to considerably
reduce security risks.

Also remove the inline keyword, this really is distracting.

Fixes: d546c621542d ("ipv4: harden fnhe_hashfun()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Keyu Man <kman001@ucr.edu>
Cc: Willy Tarreau <w@1wt.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/ipv4/route.c