Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions src/runtime_src/core/common/drv/kds_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1999,12 +1999,12 @@ int kds_ip_layout2cu_info(struct ip_layout *ip_layout,
/* ip_data->m_name format "<kernel name>:<instance name>",
* where instance name is so called CU name.
*/
strncpy(kname, ip->m_name, sizeof(kname));
strscpy(kname, ip->m_name, sizeof(kname));
kname[sizeof(kname)-1] = '\0';
kname_p = &kname[0];
strncpy(info.kname, strsep(&kname_p, ":"), sizeof(info.kname));
strscpy(info.kname, strsep(&kname_p, ":"), sizeof(info.kname));
info.kname[sizeof(info.kname)-1] = '\0';
strncpy(info.iname, strsep(&kname_p, ":"), sizeof(info.iname));
strscpy(info.iname, strsep(&kname_p, ":"), sizeof(info.iname));
info.iname[sizeof(info.kname)-1] = '\0';

info.addr = ip->m_base_address;
Expand Down Expand Up @@ -2098,12 +2098,12 @@ int kds_ip_layout2scu_info(struct ip_layout *ip_layout, struct xrt_cu_info cu_in
/* ip_data->m_name format "<kernel name>:<instance name>",
* where instance name is so called CU name.
*/
strncpy(kname, ip->m_name, sizeof(kname));
strscpy(kname, ip->m_name, sizeof(kname));
kname[sizeof(kname)-1] = '\0';
kname_p = &kname[0];
strncpy(info.kname, strsep(&kname_p, ":"), sizeof(info.kname));
strscpy(info.kname, strsep(&kname_p, ":"), sizeof(info.kname));
info.kname[sizeof(info.kname)-1] = '\0';
strncpy(info.iname, strsep(&kname_p, ":"), sizeof(info.iname));
strscpy(info.iname, strsep(&kname_p, ":"), sizeof(info.iname));
info.iname[sizeof(info.kname)-1] = '\0';

info.addr = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ static int axigate_probe(struct platform_device *pdev)
len = p ? ((ulong)p - (ulong)res->name) :
sizeof(gate->ep_name) - 1;

strncpy(gate->ep_name, res->name, len);
strscpy(gate->ep_name, res->name, len);
}

gate->base = ioremap_nocache(res->start,
Expand Down
20 changes: 10 additions & 10 deletions src/runtime_src/core/pcie/driver/linux/xocl/subdev/feature_rom.c
Original file line number Diff line number Diff line change
Expand Up @@ -356,8 +356,8 @@ static void set_vbnv_name(struct platform_device *pdev)

snprintf(sh_version, sizeof(sh_version), "%x", idcode);
memset(rom->header.VBNVName, 0, sizeof(rom->header.VBNVName));
strncpy(rom->header.VBNVName, AWS_F2_XDMA_SHELL_NAME, strlen(AWS_F2_XDMA_SHELL_NAME));
strncpy(&rom->header.VBNVName[32], sh_version, sizeof(sh_version)-1);
strscpy(rom->header.VBNVName, AWS_F2_XDMA_SHELL_NAME, strlen(AWS_F2_XDMA_SHELL_NAME));
strscpy(&rom->header.VBNVName[32], sh_version, sizeof(sh_version)-1);
}

static inline bool is_multi_rp(struct feature_rom *rom)
Expand Down Expand Up @@ -651,15 +651,15 @@ static int init_rom_by_dtb(struct feature_rom *rom)
header->FeatureBitMap = UNIFIED_PLATFORM;
*(u32 *)header->EntryPointString = MAGIC_NUM;
if (XDEV(xdev)->priv.vbnv)
strncpy(header->VBNVName, XDEV(xdev)->priv.vbnv,
strscpy(header->VBNVName, XDEV(xdev)->priv.vbnv,
sizeof (header->VBNVName) - 1);

/* overwrite if vbnv property exists */
if (XDEV(xdev)->fdt_blob) {
vbnv = fdt_getprop(XDEV(xdev)->fdt_blob, 0, "vbnv", NULL);
if (vbnv) {
xocl_xdev_dbg(xdev, "found vbnv prop, %s", vbnv);
strncpy(header->VBNVName, vbnv,
strscpy(header->VBNVName, vbnv,
sizeof(header->VBNVName) - 1);
for (i = 0; i < strlen(header->VBNVName); i++)
if (header->VBNVName[i] == ':' ||
Expand Down Expand Up @@ -754,23 +754,23 @@ static int get_header_from_iomem(struct feature_rom *rom)
*/
memset(rom->header.EntryPointString, 0,
sizeof(rom->header.EntryPointString));
strncpy(rom->header.EntryPointString, "xlnx", 4);
strscpy(rom->header.EntryPointString, "xlnx", 4);
memset(rom->header.FPGAPartName, 0,
sizeof(rom->header.FPGAPartName));
strncpy(rom->header.FPGAPartName, "AWS VU9P", 8);
strscpy(rom->header.FPGAPartName, "AWS VU9P", 8);
memset(rom->header.VBNVName, 0,
sizeof(rom->header.VBNVName));
if (did == 0xf010)
strncpy(rom->header.VBNVName,
strscpy(rom->header.VBNVName,
AWS_F1_XDMA_SHELL_NAME, strlen(AWS_F1_XDMA_SHELL_NAME));
else if (did == 0xf011)
strncpy(rom->header.VBNVName,
strscpy(rom->header.VBNVName,
AWS_F1_NODMA_SHELL_NAME, strlen(AWS_F1_NODMA_SHELL_NAME));
else if (did == 0x9048 || did == 0x9248)
strncpy(rom->header.VBNVName,
strscpy(rom->header.VBNVName,
AWS_F2_XDMA_SHELL_NAME, strlen(AWS_F2_XDMA_SHELL_NAME));
else
strncpy(rom->header.VBNVName,
strscpy(rom->header.VBNVName,
AWS_F1_DYNAMIC_SHELL_NAME, strlen(AWS_F1_DYNAMIC_SHELL_NAME));
rom->header.MajorVersion = 4;
rom->header.MinorVersion = 0;
Expand Down
4 changes: 2 additions & 2 deletions src/runtime_src/core/pcie/driver/linux/xocl/subdev/icap.c
Original file line number Diff line number Diff line change
Expand Up @@ -3035,7 +3035,7 @@ static int icap_cache_ps_kernel_axlf_section(const struct axlf *xclbin,
(struct soft_kernel *)&blob[header->m_sectionOffset];
char *begin = (char *)sp;

strncpy(pnode->pkn_data[idx].pkd_sym_name,
strscpy(pnode->pkn_data[idx].pkd_sym_name,
begin + sp->mpo_symbol_name,
PS_KERNEL_NAME_LENGTH - 1);
pnode->pkn_data[idx].pkd_num_instances =
Expand Down Expand Up @@ -4579,7 +4579,7 @@ static ssize_t icap_write_rp(struct file *filp, const char __user *data,
icap->rp_bit = NULL;
icap->rp_bit_len = 0;

strncpy(icap->rp_vbnv, axlf->m_header.m_platformVBNV,
strscpy(icap->rp_vbnv, axlf->m_header.m_platformVBNV,
sizeof(icap->rp_vbnv) - 1);
section = xrt_xclbin_get_section_hdr(axlf, PARTITION_METADATA);
if (!section) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ static int mem_hbm_probe(struct platform_device *pdev)
left_parentness = strstr(mem_hbm->label.tag, "[");
right_parentness = strstr(mem_hbm->label.tag, "]");
digit_len = right_parentness-(1+left_parentness);
strncpy(temp, left_parentness+1, digit_len);
strscpy(temp, left_parentness+1, digit_len);
temp[digit_len] = '\0';

if (kstrtoint(temp, 10, &idx) != 0)
Expand Down
2 changes: 1 addition & 1 deletion src/runtime_src/core/pcie/driver/linux/xocl/subdev/p2p.c
Original file line number Diff line number Diff line change
Expand Up @@ -1307,7 +1307,7 @@ static ssize_t config_store(struct device *dev, struct device_attribute *da,
return -ENODEV;

mutex_lock(&p2p->p2p_lock);
strncpy(p2p->bank_conf[idx].bank_tag, p_tag, MAX_BANK_TAG_LEN - 1);
strscpy(p2p->bank_conf[idx].bank_tag, p_tag, MAX_BANK_TAG_LEN - 1);
p2p->bank_conf[idx].size = sz;

p2p->exp_mem_sz = 0;
Expand Down
4 changes: 2 additions & 2 deletions src/runtime_src/core/pcie/driver/linux/xocl/subdev/xmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1782,7 +1782,7 @@ static int get_temp_by_m_tag(struct xocl_xmc *xmc, char *m_tag)
if (!strncmp(m_tag, "DDR", left_parentness-start) ||
!strncmp(m_tag, "bank", left_parentness-start)) {

strncpy(temp, left_parentness+1, digit_len);
strscpy(temp, left_parentness+1, digit_len);
/* assumption, temperature won't higher than 3 digits, or
* the temp[digit_len] should be a null character */
temp[digit_len] = '\0';
Expand Down Expand Up @@ -4537,7 +4537,7 @@ static int xmc_load_board_info(struct xocl_xmc *xmc)

tmp_str = (char *)xocl_icap_get_data(xdev, EXP_BMC_VER);
if (tmp_str) {
strncpy(xmc->exp_bmc_ver, tmp_str,
strscpy(xmc->exp_bmc_ver, tmp_str,
sizeof(xmc->exp_bmc_ver) - 1);
}

Expand Down
6 changes: 3 additions & 3 deletions src/runtime_src/core/pcie/driver/linux/xocl/subdev/xmc_u2.c
Original file line number Diff line number Diff line change
Expand Up @@ -1631,7 +1631,7 @@ static int get_temp_by_m_tag(struct xocl_xmc *xmc, char *m_tag)
if (!strncmp(m_tag, "DDR", left_parentness-start) ||
!strncmp(m_tag, "bank", left_parentness-start)) {

strncpy(temp, left_parentness+1, digit_len);
strscpy(temp, left_parentness+1, digit_len);
/* assumption, temperature won't higher than 3 digits, or
* the temp[digit_len] should be a null character */
temp[digit_len] = '\0';
Expand Down Expand Up @@ -4275,9 +4275,9 @@ static int xmc_load_board_info(struct xocl_xmc *xmc)
* with no sc at all. Later, sc version can be loaded
* from HW, if there is one available.
*/
strncpy(xmc->exp_bmc_ver, tmp_str,
strscpy(xmc->exp_bmc_ver, tmp_str,
sizeof(xmc->exp_bmc_ver) - 1);
strncpy(xmc->bmc_ver, tmp_str,
strscpy(xmc->bmc_ver, tmp_str,
sizeof(xmc->bmc_ver) - 1);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1373,7 +1373,7 @@ static int xocl_scu_cfg_cmd(struct xocl_dev *xdev, struct kds_client *client,

image->start_cuidx = start_cuidx;
image->num_cus = scu_data->pkd_num_instances;
strncpy((char *)image->sk_name, scu_data->pkd_sym_name,
strscpy((char *)image->sk_name, scu_data->pkd_sym_name,
PS_KERNEL_NAME_LENGTH - 1);
((char *)image->sk_name)[PS_KERNEL_NAME_LENGTH - 1] = 0;

Expand Down
4 changes: 2 additions & 2 deletions src/runtime_src/core/pcie/driver/linux/xocl/xocl_subdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,7 @@ static int __xocl_subdev_create(xdev_handle_t xdev_hdl,
if (sdev_info->res[i].name) {
res[i].name = subdev->res_name +
i * XOCL_SUBDEV_RES_NAME_LEN;
strncpy(subdev->res_name +
strscpy(subdev->res_name +
i * XOCL_SUBDEV_RES_NAME_LEN,
sdev_info->res[i].name,
XOCL_SUBDEV_RES_NAME_LEN - 1);
Expand Down Expand Up @@ -1435,7 +1435,7 @@ xocl_fetch_dynamic_platform(struct xocl_dev_core *core,
dsa_map[i].subdevice == (u16)PCI_ANY_ID)) {
*in = dsa_map[i].priv_data;
core->priv.vbnv = core->vbnv_cache;
strncpy(core->vbnv_cache, dsa_map[i].vbnv,
strscpy(core->vbnv_cache, dsa_map[i].vbnv,
sizeof(core->vbnv_cache) - 1);
break;
}
Expand Down
Loading