summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/microchip/vcap/vcap_api.c
diff options
context:
space:
mode:
authorYang Yingliang <yangyingliang@huawei.com>2023-01-19 17:22:10 +0800
committerJakub Kicinski <kuba@kernel.org>2023-01-20 18:15:10 -0800
commit5e64f59a3cc2c4cfba748b87f0761d865dec7924 (patch)
tree981d721c1de35311a6b02567a39ce228f9b268a6 /drivers/net/ethernet/microchip/vcap/vcap_api.c
parentbad5532ecf3300620c5a68d63eda3346e51488f8 (diff)
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 <yangyingliang@huawei.com> Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com> Link: https://lore.kernel.org/r/20230119092210.3607634-1-yangyingliang@huawei.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/microchip/vcap/vcap_api.c')
-rw-r--r--drivers/net/ethernet/microchip/vcap/vcap_api.c6
1 files 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 71f787a78295..d9cf2cd1925a 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);
}