Messages in this thread Patch in this message | | | From | Muchun Song <> | Subject | [PATCH] tcp: use kvmalloc_array() to allocate table_perturb | Date | Mon, 6 Jun 2022 15:08:04 +0800 |
| |
In our server, there may be no high order (>= 6) memory since we reserve lots of HugeTLB pages when booting. Then the system panic. So use kvmalloc_array() to allocate table_perturb.
Signed-off-by: Muchun Song <songmuchun@bytedance.com> --- net/ipv4/inet_hashtables.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index e8de5e699b3f..1ecbfdebc6bf 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c @@ -1026,8 +1026,8 @@ void __init inet_hashinfo2_init(struct inet_hashinfo *h, const char *name, init_hashinfo_lhash2(h); /* this one is used for source ports of outgoing connections */ - table_perturb = kmalloc_array(INET_TABLE_PERTURB_SIZE, - sizeof(*table_perturb), GFP_KERNEL); + table_perturb = kvmalloc_array(INET_TABLE_PERTURB_SIZE, + sizeof(*table_perturb), GFP_KERNEL); if (!table_perturb) panic("TCP: failed to alloc table_perturb"); } -- 2.11.0
| |