mutex_lock(&caifdevs->lock);
        list_add_rcu(&caifd->list, &caifdevs->list);
 
-       strlcpy(caifd->layer.name, dev->name,
+       strscpy(caifd->layer.name, dev->name,
                sizeof(caifd->layer.name));
        caifd->layer.transmit = transmit;
        res = cfcnfg_add_phy_layer(cfg,
 
                dev_add_pack(&caif_usb_type);
        pack_added = true;
 
-       strlcpy(layer->name, dev->name, sizeof(layer->name));
+       strscpy(layer->name, dev->name, sizeof(layer->name));
 
        return 0;
 err:
 
        case CAIFPROTO_RFM:
                l->linktype = CFCTRL_SRV_RFM;
                l->u.datagram.connid = s->sockaddr.u.rfm.connection_id;
-               strlcpy(l->u.rfm.volume, s->sockaddr.u.rfm.volume,
+               strscpy(l->u.rfm.volume, s->sockaddr.u.rfm.volume,
                        sizeof(l->u.rfm.volume));
                break;
        case CAIFPROTO_UTIL:
                l->linktype = CFCTRL_SRV_UTIL;
                l->endpoint = 0x00;
                l->chtype = 0x00;
-               strlcpy(l->u.utility.name, s->sockaddr.u.util.service,
+               strscpy(l->u.utility.name, s->sockaddr.u.util.service,
                        sizeof(l->u.utility.name));
                caif_assert(sizeof(l->u.utility.name) > 10);
                l->u.utility.paramlen = s->param.size;
 
                tmp16 = cpu_to_le16(param->u.utility.fifosize_bufs);
                cfpkt_add_body(pkt, &tmp16, 2);
                memset(utility_name, 0, sizeof(utility_name));
-               strlcpy(utility_name, param->u.utility.name,
+               strscpy(utility_name, param->u.utility.name,
                        UTILITY_NAME_LENGTH);
                cfpkt_add_body(pkt, utility_name, UTILITY_NAME_LENGTH);
                tmp8 = param->u.utility.paramlen;