* [linux-next:master 12047/13260] drivers/net/ethernet/huawei/hinic/hinic_devlink.c:393:3: warning: 'strncpy' output truncated before terminating nul copying 7 bytes from a string of the same length
@ 2020-07-31 23:34 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-07-31 23:34 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5120 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 01830e6c042e8eb6eb202e05d7df8057135b4c26
commit: c15850c709eb5c7771785c9174e4908d1806a0f0 [12047/13260] hinic: add support to handle hw abnormal event
config: x86_64-randconfig-r022-20200731 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
git checkout c15850c709eb5c7771785c9174e4908d1806a0f0
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/huawei/hinic/hinic_devlink.c: In function 'fault_report_show':
>> drivers/net/ethernet/huawei/hinic/hinic_devlink.c:393:3: warning: 'strncpy' output truncated before terminating nul copying 7 bytes from a string of the same length [-Wstringop-truncation]
393 | strncpy(type_str, "Unknown", strlen("Unknown"));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic/hinic_devlink.c: In function 'chip_fault_show':
drivers/net/ethernet/huawei/hinic/hinic_devlink.c:347:3: warning: 'strncpy' output truncated before terminating nul copying 7 bytes from a string of the same length [-Wstringop-truncation]
347 | strncpy(level_str, "Unknown", strlen("Unknown"));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/strncpy +393 drivers/net/ethernet/huawei/hinic/hinic_devlink.c
380
381 static int fault_report_show(struct devlink_fmsg *fmsg,
382 struct hinic_fault_event *event)
383 {
384 char fault_type[FAULT_TYPE_MAX][FAULT_SHOW_STR_LEN + 1] = {
385 "chip", "ucode", "mem rd timeout", "mem wr timeout",
386 "reg rd timeout", "reg wr timeout", "phy fault"};
387 char type_str[FAULT_SHOW_STR_LEN + 1] = {0};
388 int err;
389
390 if (event->type < FAULT_TYPE_MAX)
391 strncpy(type_str, fault_type[event->type], strlen(fault_type[event->type]));
392 else
> 393 strncpy(type_str, "Unknown", strlen("Unknown"));
394
395 err = devlink_fmsg_string_pair_put(fmsg, "Fault type", type_str);
396 if (err)
397 return err;
398
399 err = devlink_fmsg_binary_pair_put(fmsg, "Fault raw data",
400 event->event.val, sizeof(event->event.val));
401 if (err)
402 return err;
403
404 switch (event->type) {
405 case FAULT_TYPE_CHIP:
406 err = chip_fault_show(fmsg, event);
407 if (err)
408 return err;
409 break;
410 case FAULT_TYPE_UCODE:
411 err = devlink_fmsg_u8_pair_put(fmsg, "Cause_id", event->event.ucode.cause_id);
412 if (err)
413 return err;
414 err = devlink_fmsg_u8_pair_put(fmsg, "core_id", event->event.ucode.core_id);
415 if (err)
416 return err;
417 err = devlink_fmsg_u8_pair_put(fmsg, "c_id", event->event.ucode.c_id);
418 if (err)
419 return err;
420 err = devlink_fmsg_u8_pair_put(fmsg, "epc", event->event.ucode.epc);
421 if (err)
422 return err;
423 break;
424 case FAULT_TYPE_MEM_RD_TIMEOUT:
425 case FAULT_TYPE_MEM_WR_TIMEOUT:
426 err = devlink_fmsg_u32_pair_put(fmsg, "Err_csr_ctrl",
427 event->event.mem_timeout.err_csr_ctrl);
428 if (err)
429 return err;
430 err = devlink_fmsg_u32_pair_put(fmsg, "err_csr_data",
431 event->event.mem_timeout.err_csr_data);
432 if (err)
433 return err;
434 err = devlink_fmsg_u32_pair_put(fmsg, "ctrl_tab",
435 event->event.mem_timeout.ctrl_tab);
436 if (err)
437 return err;
438 err = devlink_fmsg_u32_pair_put(fmsg, "mem_index",
439 event->event.mem_timeout.mem_index);
440 if (err)
441 return err;
442 break;
443 case FAULT_TYPE_REG_RD_TIMEOUT:
444 case FAULT_TYPE_REG_WR_TIMEOUT:
445 err = devlink_fmsg_u32_pair_put(fmsg, "Err_csr", event->event.reg_timeout.err_csr);
446 if (err)
447 return err;
448 break;
449 case FAULT_TYPE_PHY_FAULT:
450 err = devlink_fmsg_u8_pair_put(fmsg, "Op_type", event->event.phy_fault.op_type);
451 if (err)
452 return err;
453 err = devlink_fmsg_u8_pair_put(fmsg, "port_id", event->event.phy_fault.port_id);
454 if (err)
455 return err;
456 err = devlink_fmsg_u8_pair_put(fmsg, "dev_ad", event->event.phy_fault.dev_ad);
457 if (err)
458 return err;
459
460 err = devlink_fmsg_u32_pair_put(fmsg, "csr_addr", event->event.phy_fault.csr_addr);
461 if (err)
462 return err;
463 err = devlink_fmsg_u32_pair_put(fmsg, "op_data", event->event.phy_fault.op_data);
464 if (err)
465 return err;
466 break;
467 default:
468 break;
469 }
470
471 return 0;
472 }
473
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36337 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-07-31 23:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-31 23:34 [linux-next:master 12047/13260] drivers/net/ethernet/huawei/hinic/hinic_devlink.c:393:3: warning: 'strncpy' output truncated before terminating nul copying 7 bytes from a string of the same length kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.