dst->addr = src->addr.ip;
        dst->port = src->port;
        dst->fwmark = src->fwmark;
-       strlcpy(dst->sched_name, sched_name, sizeof(dst->sched_name));
+       strscpy(dst->sched_name, sched_name, sizeof(dst->sched_name));
        dst->flags = src->flags;
        dst->timeout = src->timeout / HZ;
        dst->netmask = src->netmask;
                mutex_lock(&ipvs->sync_mutex);
                if (ipvs->sync_state & IP_VS_STATE_MASTER) {
                        d[0].state = IP_VS_STATE_MASTER;
-                       strlcpy(d[0].mcast_ifn, ipvs->mcfg.mcast_ifn,
+                       strscpy(d[0].mcast_ifn, ipvs->mcfg.mcast_ifn,
                                sizeof(d[0].mcast_ifn));
                        d[0].syncid = ipvs->mcfg.syncid;
                }
                if (ipvs->sync_state & IP_VS_STATE_BACKUP) {
                        d[1].state = IP_VS_STATE_BACKUP;
-                       strlcpy(d[1].mcast_ifn, ipvs->bcfg.mcast_ifn,
+                       strscpy(d[1].mcast_ifn, ipvs->bcfg.mcast_ifn,
                                sizeof(d[1].mcast_ifn));
                        d[1].syncid = ipvs->bcfg.syncid;
                }
              attrs[IPVS_DAEMON_ATTR_MCAST_IFN] &&
              attrs[IPVS_DAEMON_ATTR_SYNC_ID]))
                return -EINVAL;
-       strlcpy(c.mcast_ifn, nla_data(attrs[IPVS_DAEMON_ATTR_MCAST_IFN]),
+       strscpy(c.mcast_ifn, nla_data(attrs[IPVS_DAEMON_ATTR_MCAST_IFN]),
                sizeof(c.mcast_ifn));
        c.syncid = nla_get_u32(attrs[IPVS_DAEMON_ATTR_SYNC_ID]);
 
 
 
        msize += off;
        m->u.user.match_size = msize;
-       strlcpy(name, match->name, sizeof(name));
+       strscpy(name, match->name, sizeof(name));
        module_put(match->me);
        strncpy(m->u.user.name, name, sizeof(m->u.user.name));
 
 
        tsize += off;
        t->u.user.target_size = tsize;
-       strlcpy(name, target->name, sizeof(name));
+       strscpy(name, target->name, sizeof(name));
        module_put(target->me);
        strncpy(t->u.user.name, name, sizeof(t->u.user.name));
 
        root_uid = make_kuid(net->user_ns, 0);
        root_gid = make_kgid(net->user_ns, 0);
 
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_TABLES, sizeof(buf));
        proc = proc_create_net_data(buf, 0440, net->proc_net, &xt_table_seq_ops,
                        sizeof(struct seq_net_private),
        if (uid_valid(root_uid) && gid_valid(root_gid))
                proc_set_user(proc, root_uid, root_gid);
 
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_MATCHES, sizeof(buf));
        proc = proc_create_seq_private(buf, 0440, net->proc_net,
                        &xt_match_seq_ops, sizeof(struct nf_mttg_trav),
        if (uid_valid(root_uid) && gid_valid(root_gid))
                proc_set_user(proc, root_uid, root_gid);
 
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_TARGETS, sizeof(buf));
        proc = proc_create_seq_private(buf, 0440, net->proc_net,
                         &xt_target_seq_ops, sizeof(struct nf_mttg_trav),
 
 #ifdef CONFIG_PROC_FS
 out_remove_matches:
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_MATCHES, sizeof(buf));
        remove_proc_entry(buf, net->proc_net);
 
 out_remove_tables:
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_TABLES, sizeof(buf));
        remove_proc_entry(buf, net->proc_net);
 out:
 #ifdef CONFIG_PROC_FS
        char buf[XT_FUNCTION_MAXNAMELEN];
 
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_TABLES, sizeof(buf));
        remove_proc_entry(buf, net->proc_net);
 
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_TARGETS, sizeof(buf));
        remove_proc_entry(buf, net->proc_net);
 
-       strlcpy(buf, xt_prefix[af], sizeof(buf));
+       strscpy(buf, xt_prefix[af], sizeof(buf));
        strlcat(buf, FORMAT_MATCHES, sizeof(buf));
        remove_proc_entry(buf, net->proc_net);
 #endif /*CONFIG_PROC_FS*/