On Thu, Jun 17, 2021 at 01:19:18AM -0700, Amit Klein wrote:
Subject: inet: use bigger hash table for IP ID generation (backported to 4.19)
From: Amit Klein <redacted>
This is a backport to 4.19 of the following patch, originally
developed by Eric Dumazet.
In commit 73f156a6e8c1 ("inetpeer: get rid of ip_id_count")
I used a very small hash table that could be abused
by patient attackers to reveal sensitive information.
Switch to a dynamic sizing, depending on RAM size.
Typical big hosts will now use 128x more storage (2 MB)
to get a similar increase in security and reduction
of hash collisions.
As a bonus, use of alloc_large_system_hash() spreads
allocated memory among all NUMA nodes.
Fixes: 73f156a6e8c1 ("inetpeer: get rid of ip_id_count")
Reported-by: Amit Klein <redacted>
Cc: stable@vger.kernel.org
Cc: Eric Dumazet <edumazet@google.com>
Cc: Willy Tarreau <w@1wt.eu>
---
net/ipv4/route.c | 42 ++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)
(limited to 'net/ipv4/route.c')
I had to dig up what the upstream git commit id was for this, please
specify it next time :(
I've queued this, and the 4.14 version up. Can you create a 4.4.y and
4.9.y version as well?
thanks,
greg k-h