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(a)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@lists.01.org