taprio: Use struct_size() in kzalloc()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Thu, 18 Jun 2020 14:46:48 +0000 (09:46 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 20 Jun 2020 03:18:43 +0000 (20:18 -0700)
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes. Also, remove unnecessary
variable _size_.

This code was detected with the help of Coccinelle and, audited and
fixed manually.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_taprio.c

index b1eb12d..e981992 100644 (file)
@@ -1108,11 +1108,10 @@ static void setup_txtime(struct taprio_sched *q,
 
 static struct tc_taprio_qopt_offload *taprio_offload_alloc(int num_entries)
 {
-       size_t size = sizeof(struct tc_taprio_sched_entry) * num_entries +
-                     sizeof(struct __tc_taprio_qopt_offload);
        struct __tc_taprio_qopt_offload *__offload;
 
-       __offload = kzalloc(size, GFP_KERNEL);
+       __offload = kzalloc(struct_size(__offload, offload.entries, num_entries),
+                           GFP_KERNEL);
        if (!__offload)
                return NULL;