CLASSERT(sizeof(ifr.ifr_name) >= IFNAMSIZ);
 
-       strcpy(ifr.ifr_name, name);
+       if (strlen(name) > sizeof(ifr.ifr_name) - 1)
+               return -E2BIG;
+       strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
+
        rc = lnet_sock_ioctl(SIOCGIFFLAGS, (unsigned long)&ifr);
        if (rc) {
                CERROR("Can't get flags for interface %s\n", name);
        }
        *up = 1;
 
-       strcpy(ifr.ifr_name, name);
+       if (strlen(name) > sizeof(ifr.ifr_name) - 1)
+               return -E2BIG;
+       strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
+
        ifr.ifr_addr.sa_family = AF_INET;
        rc = lnet_sock_ioctl(SIOCGIFADDR, (unsigned long)&ifr);
        if (rc) {
        val = ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr;
        *ip = ntohl(val);
 
-       strcpy(ifr.ifr_name, name);
+       if (strlen(name) > sizeof(ifr.ifr_name) - 1)
+               return -E2BIG;
+       strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
+
        ifr.ifr_addr.sa_family = AF_INET;
        rc = lnet_sock_ioctl(SIOCGIFNETMASK, (unsigned long)&ifr);
        if (rc) {
 
                return -ENOMEM;
 
        grp->grp_ref = 1;
-       if (name)
-               strcpy(grp->grp_name, name);
+       if (name) {
+               if (strlen(name) > sizeof(grp->grp_name)-1) {
+                       LIBCFS_FREE(grp, offsetof(lstcon_group_t,
+                                   grp_ndl_hash[LST_NODE_HASHSIZE]));
+                       return -E2BIG;
+               }
+               strncpy(grp->grp_name, name, sizeof(grp->grp_name));
+       }
 
        INIT_LIST_HEAD(&grp->grp_link);
        INIT_LIST_HEAD(&grp->grp_ndl_list);
                return -ENOMEM;
        }
 
-       strcpy(bat->bat_name, name);
+       if (strlen(name) > sizeof(bat->bat_name) - 1) {
+               LIBCFS_FREE(bat->bat_srv_hash, LST_NODE_HASHSIZE);
+               LIBCFS_FREE(bat->bat_cli_hash, LST_NODE_HASHSIZE);
+               LIBCFS_FREE(bat, sizeof(lstcon_batch_t));
+               return -E2BIG;
+       }
+       strncpy(bat->bat_name, name, sizeof(bat->bat_name));
        bat->bat_hdr.tsb_index = 0;
        bat->bat_hdr.tsb_id.bat_id = ++console_session.ses_id_cookie;
 
        console_session.ses_feats_updated = 0;
        console_session.ses_timeout = (timeout <= 0) ?
                                      LST_CONSOLE_TIMEOUT : timeout;
-       strlcpy(console_session.ses_name, name,
+
+       if (strlen(name) > sizeof(console_session.ses_name)-1)
+               return -E2BIG;
+       strncpy(console_session.ses_name, name,
                sizeof(console_session.ses_name));
 
        rc = lstcon_batch_add(LST_DEFAULT_BATCH);
 
        if (!sched)
                return -ENOMEM;
 
-       strlcpy(sched->ws_name, name, CFS_WS_NAME_LEN);
+       if (strlen(name) > sizeof(sched->ws_name) - 1) {
+               LIBCFS_FREE(sched, sizeof(*sched));
+               return -E2BIG;
+       }
+       strncpy(sched->ws_name, name, sizeof(sched->ws_name));
 
        sched->ws_cptab = cptab;
        sched->ws_cpt = cpt;
 
 {
        struct ptlrpc_service *svc;
        struct ptlrpc_nrs_pol_desc *desc;
+       size_t len;
        int rc = 0;
 
        LASSERT(conf->nc_ops);
                goto fail;
        }
 
-       strncpy(desc->pd_name, conf->nc_name, NRS_POL_NAME_MAX);
+       len = strlcpy(desc->pd_name, conf->nc_name, sizeof(desc->pd_name));
+       if (len >= sizeof(desc->pd_name)) {
+               kfree(desc);
+               rc = -E2BIG;
+               goto fail;
+       }
        desc->pd_ops = conf->nc_ops;
        desc->pd_compat = conf->nc_compat;
        desc->pd_compat_svc_name = conf->nc_compat_svc_name;
 
                                      int create)
 {
        struct sptlrpc_conf *conf;
+       size_t len;
 
        list_for_each_entry(conf, &sptlrpc_confs, sc_list) {
                if (strcmp(conf->sc_fsname, fsname) == 0)
        if (!conf)
                return NULL;
 
-       strcpy(conf->sc_fsname, fsname);
+       len = strlcpy(conf->sc_fsname, fsname, sizeof(conf->sc_fsname));
+       if (len >= sizeof(conf->sc_fsname)) {
+               kfree(conf);
+               return NULL;
+       }
        sptlrpc_rule_set_init(&conf->sc_rset);
        INIT_LIST_HEAD(&conf->sc_tgts);
        list_add(&conf->sc_list, &sptlrpc_confs);