LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

[PATCH nf-next v3 2/4] ipvs: Consistently use array_size() in ip_vs_conn

To: Julian Anastasov <ja@xxxxxx>
Subject: [PATCH nf-next v3 2/4] ipvs: Consistently use array_size() in ip_vs_conn_init()
Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>, Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxx>, Florian Westphal <fw@xxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, "David S. Miller" <davem@xxxxxxxxxxxxx>, David Ahern <dsahern@xxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx, Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
From: Simon Horman <horms@xxxxxxxxxx>
Date: Mon, 17 Apr 2023 17:10:46 +0200
Consistently use array_size() to calculate the size of ip_vs_conn_tab
in bytes.

Flagged by Coccinelle:
 WARNING: array_size is already used (line 1498) to compute the same size

No functional change intended.
Compile tested only.

Signed-off-by: Simon Horman <horms@xxxxxxxxxx>
Reviewed-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
---
v3
- Correct division by 1024. It was applied to the wrong variable in v2.
- Add Horatiu's Reviewed-by tag
v2
- Retain division by 1024, which was lost in v1
---
 net/netfilter/ipvs/ip_vs_conn.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
index 13534e02346c..928e64653837 100644
--- a/net/netfilter/ipvs/ip_vs_conn.c
+++ b/net/netfilter/ipvs/ip_vs_conn.c
@@ -1481,6 +1481,7 @@ void __net_exit ip_vs_conn_net_cleanup(struct netns_ipvs 
*ipvs)
 
 int __init ip_vs_conn_init(void)
 {
+       size_t tab_array_size;
        int idx;
 
        /* Compute size and mask */
@@ -1494,8 +1495,9 @@ int __init ip_vs_conn_init(void)
        /*
         * Allocate the connection hash table and initialize its list heads
         */
-       ip_vs_conn_tab = vmalloc(array_size(ip_vs_conn_tab_size,
-                                           sizeof(*ip_vs_conn_tab)));
+       tab_array_size = array_size(ip_vs_conn_tab_size,
+                                   sizeof(*ip_vs_conn_tab));
+       ip_vs_conn_tab = vmalloc(tab_array_size);
        if (!ip_vs_conn_tab)
                return -ENOMEM;
 
@@ -1508,10 +1510,8 @@ int __init ip_vs_conn_init(void)
                return -ENOMEM;
        }
 
-       pr_info("Connection hash table configured "
-               "(size=%d, memory=%ldKbytes)\n",
-               ip_vs_conn_tab_size,
-               (long)(ip_vs_conn_tab_size*sizeof(*ip_vs_conn_tab))/1024);
+       pr_info("Connection hash table configured (size=%d, 
memory=%zdKbytes)\n",
+               ip_vs_conn_tab_size, tab_array_size / 1024);
        IP_VS_DBG(0, "Each connection entry needs %zd bytes at least\n",
                  sizeof(struct ip_vs_conn));
 

-- 
2.30.2


<Prev in Thread] Current Thread [Next in Thread>