]> git.baikalelectronics.ru Git - kernel.git/commitdiff
nfp: flower: Use struct_size() helper in kmalloc()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 25 Jan 2022 19:33:19 +0000 (13:33 -0600)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Jan 2022 16:35:34 +0000 (16:35 +0000)
Make use of the struct_size() helper instead of an open-coded version,
in order to avoid any potential type mistakes or integer overflows that,
in the worst scenario, could lead to heap overflows.

Also, address the following sparse warnings:
drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c:359:25: warning: using sizeof on a flexible structure

Link: https://github.com/KSPP/linux/issues/174
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Acked-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c

index dfb4468fe287ab3144134144d134a5a1fcdf3d66..ce865e61956805f2667f3d2ae9393b681212976f 100644 (file)
@@ -356,7 +356,7 @@ __nfp_tun_add_route_to_cache(struct list_head *route_list,
                        return 0;
                }
 
-       entry = kmalloc(sizeof(*entry) + add_len, GFP_ATOMIC);
+       entry = kmalloc(struct_size(entry, ip_add, add_len), GFP_ATOMIC);
        if (!entry) {
                spin_unlock_bh(list_lock);
                return -ENOMEM;