lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 10 May 2022 11:43:33 -0400 From: Sasha Levin <sashal@...nel.org> To: linux-kernel@...r.kernel.org, stable@...r.kernel.org Cc: Willy Tarreau <w@....eu>, "Jason A . Donenfeld" <Jason@...c4.com>, Moshe Kol <moshe.kol@...l.huji.ac.il>, Yossi Gilad <yossi.gilad@...l.huji.ac.il>, Amit Klein <aksecurity@...il.com>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Sasha Levin <sashal@...nel.org>, davem@...emloft.net, yoshfuji@...ux-ipv6.org, dsahern@...nel.org, pabeni@...hat.com, netdev@...r.kernel.org Subject: [PATCH AUTOSEL 5.17 14/21] tcp: use different parts of the port_offset for index and offset From: Willy Tarreau <w@....eu> [ Upstream commit 9e9b70ae923baf2b5e8a0ea4fd0c8451801ac526 ] Amit Klein suggests that we use different parts of port_offset for the table's index and the port offset so that there is no direct relation between them. Cc: Jason A. Donenfeld <Jason@...c4.com> Cc: Moshe Kol <moshe.kol@...l.huji.ac.il> Cc: Yossi Gilad <yossi.gilad@...l.huji.ac.il> Cc: Amit Klein <aksecurity@...il.com> Reviewed-by: Eric Dumazet <edumazet@...gle.com> Signed-off-by: Willy Tarreau <w@....eu> Signed-off-by: Jakub Kicinski <kuba@...nel.org> Signed-off-by: Sasha Levin <sashal@...nel.org> --- net/ipv4/inet_hashtables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index 9d24d9319f3d..29c701cd8312 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c @@ -777,7 +777,7 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row, net_get_random_once(table_perturb, sizeof(table_perturb)); index = hash_32(port_offset, INET_TABLE_PERTURB_SHIFT); - offset = READ_ONCE(table_perturb[index]) + port_offset; + offset = READ_ONCE(table_perturb[index]) + (port_offset >> 32); offset %= remaining; /* In first pass we try ports of @low parity. -- 2.35.1
Powered by blists - more mailing lists