CC: [email protected] CC: [email protected] TO: Kees Cook <[email protected]> CC: Daniel Micay <[email protected]> CC: Nick Desaulniers <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git kspp/alloc_size/v5.15-rc2-v2 head: 814dd7d0f6cb6a824de253a90937cda4236f3aad commit: 77cded22dabc36a3681d049108cce24b18b312c9 [4/9] slab: Add __alloc_size attributes for better bounds checking :::::: branch date: 6 days ago :::::: commit date: 11 days ago config: arm64-randconfig-s032-20211011 (attached as .config) compiler: aarch64-linux-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/commit/?id=77cded22dabc36a3681d049108cce24b18b312c9 git remote add kees https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git git fetch --no-tags kees kspp/alloc_size/v5.15-rc2-v2 git checkout 77cded22dabc36a3681d049108cce24b18b312c9 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> All warnings (new ones prefixed by >>): drivers/edac/thunderx_edac.c: In function 'thunderx_l2c_threaded_isr': >> drivers/edac/thunderx_edac.c:1899:17: warning: 'strncat' specified bound >> 1024 equals destination size [-Wstringop-truncation] 1899 | strncat(msg, other, L2C_MESSAGE_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/edac/thunderx_edac.c: In function 'thunderx_ocx_lnk_threaded_isr': drivers/edac/thunderx_edac.c:1220:17: warning: 'strncat' specified bound 1024 equals destination size [-Wstringop-truncation] 1220 | strncat(msg, other, OCX_MESSAGE_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/edac/thunderx_edac.c: In function 'thunderx_ocx_com_threaded_isr': drivers/edac/thunderx_edac.c:1136:17: warning: 'strncat' specified bound 1024 equals destination size [-Wstringop-truncation] 1136 | strncat(msg, other, OCX_MESSAGE_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/edac/thunderx_edac.c:1145:33: warning: 'strncat' specified bound 1024 equals destination size [-Wstringop-truncation] 1145 | strncat(msg, other, OCX_MESSAGE_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/edac/thunderx_edac.c:1150:33: warning: 'strncat' specified bound 1024 equals destination size [-Wstringop-truncation] 1150 | strncat(msg, other, OCX_MESSAGE_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/strncat +1899 drivers/edac/thunderx_edac.c 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1841 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1842 static irqreturn_t thunderx_l2c_threaded_isr(int irq, void *irq_id) 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1843 { 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1844 struct msix_entry *msix = irq_id; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1845 struct thunderx_l2c *l2c = container_of(msix, struct thunderx_l2c, 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1846 msix_ent); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1847 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1848 unsigned long tail = ring_pos(l2c->ring_tail, ARRAY_SIZE(l2c->err_ctx)); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1849 struct l2c_err_ctx *ctx = &l2c->err_ctx[tail]; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1850 irqreturn_t ret = IRQ_NONE; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1851 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1852 u64 mask_ue, mask_ce; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1853 const struct error_descr *l2_errors; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1854 char *reg_int_name; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1855 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1856 char *msg; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1857 char *other; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1858 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1859 msg = kmalloc(OCX_MESSAGE_SIZE, GFP_KERNEL); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1860 other = kmalloc(OCX_OTHER_SIZE, GFP_KERNEL); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1861 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1862 if (!msg || !other) 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1863 goto err_free; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1864 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1865 switch (l2c->pdev->device) { 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1866 case PCI_DEVICE_ID_THUNDER_L2C_TAD: 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1867 reg_int_name = "L2C_TAD_INT"; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1868 mask_ue = L2C_TAD_INT_UE; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1869 mask_ce = L2C_TAD_INT_CE; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1870 l2_errors = l2_tad_errors; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1871 break; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1872 case PCI_DEVICE_ID_THUNDER_L2C_CBC: 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1873 reg_int_name = "L2C_CBC_INT"; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1874 mask_ue = L2C_CBC_INT_UE; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1875 mask_ce = L2C_CBC_INT_CE; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1876 l2_errors = l2_cbc_errors; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1877 break; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1878 case PCI_DEVICE_ID_THUNDER_L2C_MCI: 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1879 reg_int_name = "L2C_MCI_INT"; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1880 mask_ue = L2C_MCI_INT_VBFDBE; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1881 mask_ce = L2C_MCI_INT_VBFSBE; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1882 l2_errors = l2_mci_errors; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1883 break; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1884 default: 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1885 dev_err(&l2c->pdev->dev, "Unsupported device: %04x\n", 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1886 l2c->pdev->device); d8c27ba86a2fd806 Dan Carpenter 2018-10-13 1887 goto err_free; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1888 } 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1889 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1890 while (CIRC_CNT(l2c->ring_head, l2c->ring_tail, 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1891 ARRAY_SIZE(l2c->err_ctx))) { 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1892 snprintf(msg, L2C_MESSAGE_SIZE, 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1893 "%s: %s: %016llx, %s: %016llx", 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1894 l2c->edac_dev->ctl_name, reg_int_name, ctx->reg_int, 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1895 ctx->reg_ext_name, ctx->reg_ext); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1896 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1897 decode_register(other, L2C_OTHER_SIZE, l2_errors, ctx->reg_int); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1898 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 @1899 strncat(msg, other, L2C_MESSAGE_SIZE); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1900 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1901 if (ctx->reg_int & mask_ue) 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1902 edac_device_handle_ue(l2c->edac_dev, 0, 0, msg); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1903 else if (ctx->reg_int & mask_ce) 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1904 edac_device_handle_ce(l2c->edac_dev, 0, 0, msg); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1905 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1906 l2c->ring_tail++; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1907 } 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1908 d8c27ba86a2fd806 Dan Carpenter 2018-10-13 1909 ret = IRQ_HANDLED; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1910 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1911 err_free: 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1912 kfree(other); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1913 kfree(msg); 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1914 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1915 return ret; 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1916 } 41003396f932d7f0 Sergey Temerkhanov 2017-03-24 1917 :::::: The code at line 1899 was first introduced by commit :::::: 41003396f932d7f027725c7acebb6a7caa41dc3e EDAC, thunderx: Add Cavium ThunderX EDAC driver :::::: TO: Sergey Temerkhanov <[email protected]> :::::: CC: Borislav Petkov <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
