*/
 
                /* Yes, the mii is overlaid on the ifreq.ifr_ifru */
-               strncpy(ifr.ifr_name, slave_dev->name, IFNAMSIZ);
+               strscpy_pad(ifr.ifr_name, slave_dev->name, IFNAMSIZ);
                mii = if_mii(&ifr);
                if (ioctl(slave_dev, &ifr, SIOCGMIIPHY) == 0) {
                        mii->reg_num = MII_BMSR;
                        (struct reciprocal_value) { 0 };
        }
 
-       if (primary) {
-               strncpy(params->primary, primary, IFNAMSIZ);
-               params->primary[IFNAMSIZ - 1] = 0;
-       }
+       if (primary)
+               strscpy_pad(params->primary, primary, sizeof(params->primary));
 
        memcpy(params->arp_targets, arp_target, sizeof(arp_target));
 
 
                RCU_INIT_POINTER(bond->primary_slave, NULL);
                bond_select_active_slave(bond);
        }
-       strncpy(bond->params.primary, primary, IFNAMSIZ);
-       bond->params.primary[IFNAMSIZ - 1] = 0;
+       strscpy_pad(bond->params.primary, primary, IFNAMSIZ);
 
        netdev_dbg(bond->dev, "Recording %s as primary, but it has not been enslaved yet\n",
                   primary);