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 <gustavo...@kernel.org>
---
 net/sched/sch_taprio.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c
index b1eb12d33b9a..e981992634dd 100644
--- a/net/sched/sch_taprio.c
+++ b/net/sched/sch_taprio.c
@@ -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;
 
-- 
2.27.0

Reply via email to