cancel_work_sync(&channel->intent_work);
 
        if (channel->rpdev) {
-               strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
+               strscpy_pad(chinfo.name, channel->name, sizeof(chinfo.name));
                chinfo.src = RPMSG_ADDR_ANY;
                chinfo.dst = RPMSG_ADDR_ANY;
 
 
 
        /* Assign public information to the rpmsg_device */
        rpdev = &qsdev->rpdev;
-       strncpy(rpdev->id.name, channel->name, RPMSG_NAME_SIZE);
+       strscpy_pad(rpdev->id.name, channel->name, RPMSG_NAME_SIZE);
        rpdev->src = RPMSG_ADDR_ANY;
        rpdev->dst = RPMSG_ADDR_ANY;
 
 
                spin_unlock_irqrestore(&edge->channels_lock, flags);
 
-               strncpy(chinfo.name, channel->name, sizeof(chinfo.name));
+               strscpy_pad(chinfo.name, channel->name, sizeof(chinfo.name));
                chinfo.src = RPMSG_ADDR_ANY;
                chinfo.dst = RPMSG_ADDR_ANY;
                rpmsg_unregister_device(&edge->dev, &chinfo);