Follow the advice of the below link and prefer 'strscpy' in this
subsystem. Conversion is 1:1 because the return value is not used.
Generated by a coccinelle script.

Link: 
https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=v6a6g1ouzcprm...@mail.gmail.com/
Signed-off-by: Wolfram Sang <[email protected]>
---
 net/bridge/br_device.c          | 8 ++++----
 net/bridge/br_sysfs_if.c        | 4 ++--
 net/bridge/netfilter/ebtables.c | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index 58a4f70e01e3..b82906fc999a 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -251,10 +251,10 @@ static int br_set_mac_address(struct net_device *dev, 
void *p)
 
 static void br_getinfo(struct net_device *dev, struct ethtool_drvinfo *info)
 {
-       strlcpy(info->driver, "bridge", sizeof(info->driver));
-       strlcpy(info->version, BR_VERSION, sizeof(info->version));
-       strlcpy(info->fw_version, "N/A", sizeof(info->fw_version));
-       strlcpy(info->bus_info, "N/A", sizeof(info->bus_info));
+       strscpy(info->driver, "bridge", sizeof(info->driver));
+       strscpy(info->version, BR_VERSION, sizeof(info->version));
+       strscpy(info->fw_version, "N/A", sizeof(info->fw_version));
+       strscpy(info->bus_info, "N/A", sizeof(info->bus_info));
 }
 
 static int br_get_link_ksettings(struct net_device *dev,
diff --git a/net/bridge/br_sysfs_if.c b/net/bridge/br_sysfs_if.c
index 07fa76080512..74fdd8105dca 100644
--- a/net/bridge/br_sysfs_if.c
+++ b/net/bridge/br_sysfs_if.c
@@ -384,7 +384,7 @@ int br_sysfs_addif(struct net_bridge_port *p)
                        return err;
        }
 
-       strlcpy(p->sysfs_name, p->dev->name, IFNAMSIZ);
+       strscpy(p->sysfs_name, p->dev->name, IFNAMSIZ);
        return sysfs_create_link(br->ifobj, &p->kobj, p->sysfs_name);
 }
 
@@ -406,7 +406,7 @@ int br_sysfs_renameif(struct net_bridge_port *p)
                netdev_notice(br->dev, "unable to rename link %s to %s",
                              p->sysfs_name, p->dev->name);
        else
-               strlcpy(p->sysfs_name, p->dev->name, IFNAMSIZ);
+               strscpy(p->sysfs_name, p->dev->name, IFNAMSIZ);
 
        return err;
 }
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
index f2dbefb61ce8..3c3ecd4cddb5 100644
--- a/net/bridge/netfilter/ebtables.c
+++ b/net/bridge/netfilter/ebtables.c
@@ -1446,7 +1446,7 @@ static inline int ebt_obj_to_user(char __user *um, const 
char *_name,
        /* ebtables expects 31 bytes long names but xt_match names are 29 bytes
         * long. Copy 29 bytes and fill remaining bytes with zeroes.
         */
-       strlcpy(name, _name, sizeof(name));
+       strscpy(name, _name, sizeof(name));
        if (copy_to_user(um, name, EBT_EXTENSION_MAXNAMELEN) ||
            put_user(revision, (u8 __user *)(um + EBT_EXTENSION_MAXNAMELEN)) ||
            put_user(datasize, (int __user *)(um + EBT_EXTENSION_MAXNAMELEN + 
1)) ||
-- 
2.35.1

Reply via email to