name = of_get_property(rootdn, "ibm,partition-name", NULL);
        if (name)
-               strncpy(vhost->partition_name, name, sizeof(vhost->partition_name));
+               strscpy(vhost->partition_name, name, sizeof(vhost->partition_name));
        num = of_get_property(rootdn, "ibm,partition-no", NULL);
        if (num)
                vhost->partition_number = *num;
        login_info->async.va = cpu_to_be64(vhost->async_crq.msg_token);
        login_info->async.len = cpu_to_be32(async_crq->size *
                                            sizeof(*async_crq->msgs.async));
-       strncpy(login_info->partition_name, vhost->partition_name, IBMVFC_MAX_NAME);
-       strncpy(login_info->device_name,
-               dev_name(&vhost->host->shost_gendev), IBMVFC_MAX_NAME);
+       strscpy(login_info->partition_name, vhost->partition_name,
+               sizeof(login_info->partition_name));
+
+       strscpy(login_info->device_name,
+               dev_name(&vhost->host->shost_gendev), sizeof(login_info->device_name));
 
        location = of_get_property(of_node, "ibm,loc-code", NULL);
        location = location ? location : dev_name(vhost->dev);
-       strncpy(login_info->drc_name, location, IBMVFC_MAX_NAME);
+       strscpy(login_info->drc_name, location, sizeof(login_info->drc_name));
 }
 
 /**