net: dsa: felix: use kmemdup() to replace kmalloc + memcpy
authorYihao Han <hanyihao@vivo.com>
Tue, 7 Dec 2021 06:44:18 +0000 (22:44 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 8 Dec 2021 05:49:05 +0000 (21:49 -0800)
Fix following coccicheck warning:
/drivers/net/dsa/ocelot/felix_vsc9959.c:1627:13-20:
WARNING opportunity for kmemdup
/drivers/net/dsa/ocelot/felix_vsc9959.c:1506:16-23:
WARNING opportunity for kmemdup

Signed-off-by: Yihao Han <hanyihao@vivo.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20211207064419.38632-1-hanyihao@vivo.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/ocelot/felix_vsc9959.c

index 74c5c8c..110d6c4 100644 (file)
@@ -1505,12 +1505,10 @@ static int vsc9959_stream_table_add(struct ocelot *ocelot,
        struct felix_stream *stream_entry;
        int ret;
 
-       stream_entry = kzalloc(sizeof(*stream_entry), GFP_KERNEL);
+       stream_entry = kmemdup(stream, sizeof(*stream_entry), GFP_KERNEL);
        if (!stream_entry)
                return -ENOMEM;
 
-       memcpy(stream_entry, stream, sizeof(*stream_entry));
-
        if (!stream->dummy) {
                ret = vsc9959_mact_stream_set(ocelot, stream_entry, extack);
                if (ret) {
@@ -1626,11 +1624,10 @@ static int vsc9959_psfp_sfi_list_add(struct ocelot *ocelot,
        struct felix_stream_filter *sfi_entry;
        int ret;
 
-       sfi_entry = kzalloc(sizeof(*sfi_entry), GFP_KERNEL);
+       sfi_entry = kmemdup(sfi, sizeof(*sfi_entry), GFP_KERNEL);
        if (!sfi_entry)
                return -ENOMEM;
 
-       memcpy(sfi_entry, sfi, sizeof(*sfi_entry));
        refcount_set(&sfi_entry->refcount, 1);
 
        ret = vsc9959_psfp_sfi_set(ocelot, sfi_entry);