Re: [PATCH nf-next v2 2/4] ipvs: Consistently use array_size() in ip_vs_conn_init()

From: Horatiu Vultur
Date: Tue Apr 11 2023 - 07:35:06 EST


The 04/11/2023 09:10, Simon Horman wrote:
>
> 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.

Reviewed-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>

>
> Signed-off-by: Simon Horman <horms@xxxxxxxxxx>
> ---
> 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..84d273a84dc8 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 / 1024, tab_array_size);
> IP_VS_DBG(0, "Each connection entry needs %zd bytes at least\n",
> sizeof(struct ip_vs_conn));
>
>
> --
> 2.30.2
>

--
/Horatiu