Re: [PATCH net-next] drivers/net/bonding: User strscpy() to copy device name

From: Jakub Kicinski

Date: Tue Jun 09 2026 - 21:04:06 EST


On Sat, 6 Jun 2026 21:26:08 +0100 david.laight.linux@xxxxxxxxx wrote:
> From: David Laight <david.laight.linux@xxxxxxxxx>

Commit message is required. Please explain why you think this patch is
needed. AFAICT it copies data between two well formed IFNAMSIZ strings.

> Signed-off-by: David Laight <david.laight.linux@xxxxxxxxx>
> ---
> This is one of a group of patches that remove potentially unbounded
> strcpy() calls.
>
> They are mostly replaced by strscpy() or, when strlen() has just been
> called, with memcpy() (usually including the '\0').
>
> Calls with copy string literals into arrays are left unchanged.
> They are safe and easily detected as such.
>
> The changes were made by getting the compiler to detect the calls and
> then fixing the code by hand.
>
> Note that all the changes are only compile tested.
>
> Some Makefiles were changed to allow files to contain strcpy().
> As well as 'difficult to fix' files, this included 'show' functions
> as they really need to use sysfs_emit() or seq_printf().
>
> All the patches are being sent individually to avoid very long cc lists.
> Apologies for the terse commit messages and likely unexpected tags.
> (There are about 100 patches in total.)
>
> drivers/net/bonding/bond_options.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c
> index 7380cc4ee75a..c57b7d6af043 100644
> --- a/drivers/net/bonding/bond_options.c
> +++ b/drivers/net/bonding/bond_options.c
> @@ -1525,7 +1525,7 @@ static int bond_option_primary_set(struct bonding *bond,
> if (strncmp(slave->dev->name, primary, IFNAMSIZ) == 0) {
> slave_dbg(bond->dev, slave->dev, "Setting as primary slave\n");
> rcu_assign_pointer(bond->primary_slave, slave);
> - strcpy(bond->params.primary, slave->dev->name);
> + strscpy(bond->params.primary, slave->dev->name);
> bond->force_primary = true;
> bond_select_active_slave(bond);
> goto out;
--
pw-bot: cr