Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Yang Yingliang and committed by
Jakub Kicinski
5e64f59a bad5532e

+2 -4
+2 -4
drivers/net/ethernet/microchip/vcap/vcap_api.c
··· 1000 1000 return duprule; 1001 1001 1002 1002 list_for_each_entry(ckf, &ri->data.keyfields, ctrl.list) { 1003 - newckf = kzalloc(sizeof(*newckf), GFP_KERNEL); 1003 + newckf = kmemdup(ckf, sizeof(*newckf), GFP_KERNEL); 1004 1004 if (!newckf) 1005 1005 return ERR_PTR(-ENOMEM); 1006 - memcpy(newckf, ckf, sizeof(*newckf)); 1007 1006 list_add_tail(&newckf->ctrl.list, &duprule->data.keyfields); 1008 1007 } 1009 1008 1010 1009 list_for_each_entry(caf, &ri->data.actionfields, ctrl.list) { 1011 - newcaf = kzalloc(sizeof(*newcaf), GFP_KERNEL); 1010 + newcaf = kmemdup(caf, sizeof(*newcaf), GFP_KERNEL); 1012 1011 if (!newcaf) 1013 1012 return ERR_PTR(-ENOMEM); 1014 - memcpy(newcaf, caf, sizeof(*newcaf)); 1015 1013 list_add_tail(&newcaf->ctrl.list, &duprule->data.actionfields); 1016 1014 } 1017 1015