tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto head: 0194b1072920957ee8a7abdfb3ddebee69c1d485 commit: 5f8e6e83b0109640b2711496b4075942798111aa [8690/8941] PCI: keembay: Changes to support VPU PCIe driver config: riscv-allyesconfig (attached as .config) compiler: riscv64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 5f8e6e83b0109640b2711496b4075942798111aa # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): drivers/pci/controller/dwc/pcie-keembay.c: In function 'keembay_pcie_probe': >> drivers/pci/controller/dwc/pcie-keembay.c:799:2: warning: 'strncpy' output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation] 799 | strncpy(pcie->stepping, "B0", strlen("B0")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/strncpy +799 drivers/pci/controller/dwc/pcie-keembay.c 749 750 static int keembay_pcie_probe(struct platform_device *pdev) 751 { 752 const struct keembay_pcie_of_data *data; 753 const struct of_device_id *match; 754 struct device *dev = &pdev->dev; 755 struct keembay_pcie *pcie; 756 struct dw_pcie *pci; 757 struct resource *res; 758 struct device_node *soc_node, *version_node; 759 enum dw_pcie_device_mode mode; 760 const char *prop; 761 int prop_size; 762 int ret; 763 764 match = of_match_device(keembay_pcie_of_match, dev); 765 if (!match) 766 return -EINVAL; 767 768 data = (struct keembay_pcie_of_data *)match->data; 769 mode = (enum dw_pcie_device_mode)data->mode; 770 771 pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); 772 if (!pcie) 773 return -ENOMEM; 774 775 pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL); 776 if (!pci) 777 return -ENOMEM; 778 779 pci->dev = dev; 780 pci->ops = &keembay_pcie_ops; 781 782 pcie->pci = pci; 783 pcie->mode = mode; 784 785 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "apb"); 786 pcie->apb_base = devm_ioremap_resource(dev, res); 787 if (IS_ERR(pcie->apb_base)) 788 return PTR_ERR(pcie->apb_base); 789 790 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi"); 791 pci->dbi_base = devm_ioremap_resource(dev, res); 792 if (IS_ERR(pci->dbi_base)) 793 return PTR_ERR(pci->dbi_base); 794 795 /* DBI2 shadow register */ 796 pci->dbi_base2 = pci->dbi_base + PCIE_DBI2_MASK; 797 798 /* Keem Bay stepping info, based on DT */ > 799 strncpy(pcie->stepping, "B0", strlen("B0")); 800 soc_node = of_get_parent(pdev->dev.of_node); 801 if (soc_node) { 802 version_node = of_get_child_by_name(soc_node, "version-info"); 803 if (version_node) { 804 prop = of_get_property(version_node, "stepping", 805 &prop_size); 806 if (prop && prop_size <= KEEMBAY_PCIE_STEPPING_MAXLEN) 807 strncpy(pcie->stepping, prop, prop_size); 808 of_node_put(version_node); 809 } 810 of_node_put(soc_node); 811 } 812 813 platform_set_drvdata(pdev, pcie); 814 815 switch (pcie->mode) { 816 case DW_PCIE_RC_TYPE: 817 if (!IS_ENABLED(CONFIG_PCIE_KEEMBAY_HOST)) 818 return -ENODEV; 819 820 ret = keembay_pcie_add_pcie_port(pcie, pdev); 821 if (ret < 0) 822 return ret; 823 break; 824 case DW_PCIE_EP_TYPE: 825 if (!IS_ENABLED(CONFIG_PCIE_KEEMBAY_EP)) 826 return -ENODEV; 827 828 ret = keembay_pcie_add_pcie_ep(pcie, pdev); 829 if (ret < 0) 830 return ret; 831 break; 832 default: 833 dev_err(dev, "INVALID device type %d\n", pcie->mode); 834 } 835 836 return 0; 837 } 838 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org