From 5e64f59a3cc2c4cfba748b87f0761d865dec7924 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Thu, 19 Jan 2023 17:22:10 +0800 Subject: [PATCH] net: microchip: vcap: use kmemdup() to allocate memory Use kmemdup() helper instead of open-coding to simplify the code when allocating newckf and newcaf. Generated by: scripts/coccinelle/api/memdup.cocci Signed-off-by: Yang Yingliang Reviewed-by: Jesse Brandeburg Reviewed-by: Steen Hegelund Link: https://lore.kernel.org/r/20230119092210.3607634-1-yangyingliang@huawei.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/microchip/vcap/vcap_api.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/microchip/vcap/vcap_api.c b/drivers/net/ethernet/microchip/vcap/vcap_api.c index 71f787a..d9cf2cd 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_api.c +++ b/drivers/net/ethernet/microchip/vcap/vcap_api.c @@ -1000,18 +1000,16 @@ static struct vcap_rule_internal *vcap_dup_rule(struct vcap_rule_internal *ri, return duprule; list_for_each_entry(ckf, &ri->data.keyfields, ctrl.list) { - newckf = kzalloc(sizeof(*newckf), GFP_KERNEL); + newckf = kmemdup(ckf, sizeof(*newckf), GFP_KERNEL); if (!newckf) return ERR_PTR(-ENOMEM); - memcpy(newckf, ckf, sizeof(*newckf)); list_add_tail(&newckf->ctrl.list, &duprule->data.keyfields); } list_for_each_entry(caf, &ri->data.actionfields, ctrl.list) { - newcaf = kzalloc(sizeof(*newcaf), GFP_KERNEL); + newcaf = kmemdup(caf, sizeof(*newcaf), GFP_KERNEL); if (!newcaf) return ERR_PTR(-ENOMEM); - memcpy(newcaf, caf, sizeof(*newcaf)); list_add_tail(&newcaf->ctrl.list, &duprule->data.actionfields); } -- 2.7.4