summaryrefslogtreecommitdiff
path: root/net/netfilter/ipvs
diff options
context:
space:
mode:
authorSubasri S <subasris1210@gmail.com>2026-07-16 19:37:10 +0530
committerPablo Neira Ayuso <pablo@netfilter.org>2026-07-24 11:45:19 +0200
commitcca2780b61947fd27ec621541edd0902e193a609 (patch)
tree586554523c5a92095c1409c0d0afd8cfce019beb /net/netfilter/ipvs
parent874f455c3a2954b5b56fbedf97da39c34df9dc0e (diff)
downloadlinux-next-cca2780b61947fd27ec621541edd0902e193a609.tar.gz
linux-next-cca2780b61947fd27ec621541edd0902e193a609.zip
ipvs: use type-safe allocation helpers in ip_vs_rht_alloc
As per Documentation/process/deprecated.rst, open-coded kmalloc assignments for struct objects are deprecated. Replace kzalloc(sizeof(*ptr), GFP_KERNEL) with kzalloc_obj() and kvmalloc_array(n, sizeof(*ptr), GFP_KERNEL) with kvmalloc_objs() in ip_vs_rht_alloc(). Compile tested with CONFIG_IP_VS=y and runtime tested using tools/testing/selftests/net/netfilter/ipvs.sh on x86_64/QEMU. Signed-off-by: Subasri S <subasris1210@gmail.com> Reviewed-by: Phil Sutter <phil@nwl.cc> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/ipvs')
-rw-r--r--net/netfilter/ipvs/ip_vs_core.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index bafab93451d0..a896bfb53f07 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -176,7 +176,7 @@ void ip_vs_rht_rcu_free(struct rcu_head *head)
struct ip_vs_rht *ip_vs_rht_alloc(int buckets, int scounts, int locks)
{
- struct ip_vs_rht *t = kzalloc(sizeof(*t), GFP_KERNEL);
+ struct ip_vs_rht *t = kzalloc_obj(*t);
int i;
if (!t)
@@ -186,7 +186,7 @@ struct ip_vs_rht *ip_vs_rht_alloc(int buckets, int scounts, int locks)
scounts = min(scounts, buckets);
scounts = min(scounts, ml);
- t->seqc = kvmalloc_array(scounts, sizeof(*t->seqc), GFP_KERNEL);
+ t->seqc = kvmalloc_objs(*t->seqc, scounts);
if (!t->seqc)
goto err;
for (i = 0; i < scounts; i++)
@@ -194,8 +194,7 @@ struct ip_vs_rht *ip_vs_rht_alloc(int buckets, int scounts, int locks)
if (locks) {
locks = min(locks, scounts);
- t->lock = kvmalloc_array(locks, sizeof(*t->lock),
- GFP_KERNEL);
+ t->lock = kvmalloc_objs(*t->lock, locks);
if (!t->lock)
goto err;
for (i = 0; i < locks; i++)
@@ -203,7 +202,7 @@ struct ip_vs_rht *ip_vs_rht_alloc(int buckets, int scounts, int locks)
}
}
- t->buckets = kvmalloc_array(buckets, sizeof(*t->buckets), GFP_KERNEL);
+ t->buckets = kvmalloc_objs(*t->buckets, buckets);
if (!t->buckets)
goto err;
for (i = 0; i < buckets; i++)