CC: l...@lists.linux.dev CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: Linux Memory Management List <linux...@kvack.org> TO: Arnd Bergmann <a...@arndb.de> CC: Masahiro Yamada <masahi...@kernel.org> CC: Alex Shi <al...@kernel.org> CC: Nick Desaulniers <ndesaulni...@google.com> CC: Miguel Ojeda <oj...@kernel.org> CC: Nathan Chancellor <nat...@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 71941773e143369a73c9c4a3b62fbb60736a1182 commit: 6992f0b3f0fd879b31095263986ba1aedb27c83b [11110/11953] Kbuild: move to -std=gnu11 :::::: branch date: 4 days ago :::::: commit date: 5 days ago config: arm-randconfig-c002-20220313 (https://download.01.org/0day-ci/archive/20220314/202203140843.jdb2rrbr-...@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0467eb2cb7654c15ae366967ef35093c5724c416) 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 # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=6992f0b3f0fd879b31095263986ba1aedb27c83b git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 6992f0b3f0fd879b31095263986ba1aedb27c83b # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> clang-analyzer warnings: (new ones prefixed by >>) include/linux/mtd/nand.h:419:2: note: Returning without writing to 'nand->ecc.user_conf.strength', which participates in a condition later return &nand->mtd; ^ include/linux/mtd/nand.h:419:2: note: Returning without writing to 'nand->ecc.ctx.conf.strength', which participates in a condition later drivers/mtd/nand/ecc-sw-bch.c:173:25: note: Returning from 'nanddev_to_mtd' struct mtd_info *mtd = nanddev_to_mtd(nand); ^~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:179:6: note: Assuming field 'oobsize' is >= 64 if (mtd->oobsize < 64) { ^~~~~~~~~~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:179:2: note: Taking false branch if (mtd->oobsize < 64) { ^ drivers/mtd/nand/ecc-sw-bch.c:184:6: note: Assuming field 'ooblayout' is non-null if (!mtd->ooblayout) ^~~~~~~~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:184:2: note: Taking false branch if (!mtd->ooblayout) ^ drivers/mtd/nand/ecc-sw-bch.c:198:6: note: Assuming field 'step_size' is not equal to 0 if (!conf->step_size) { ^~~~~~~~~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:198:2: note: Taking false branch if (!conf->step_size) { ^ drivers/mtd/nand/ecc-sw-bch.c:210:6: note: Assuming the condition is false if (nand->ecc.user_conf.flags & NAND_ECC_MAXIMIZE_STRENGTH) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:210:2: note: Taking false branch if (nand->ecc.user_conf.flags & NAND_ECC_MAXIMIZE_STRENGTH) { ^ drivers/mtd/nand/ecc-sw-bch.c:218:7: note: 'code_size' is 0 if (!code_size) ^~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:218:2: note: Taking true branch if (!code_size) ^ drivers/mtd/nand/ecc-sw-bch.c:220:7: note: Calling 'fls' fls(8 * conf->step_size), 8); ^ include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP' #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP ^ include/uapi/linux/const.h:34:40: note: expanded from macro '__KERNEL_DIV_ROUND_UP' #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) ^ include/asm-generic/bitops/fls.h:17:6: note: Assuming 'x' is 0, which participates in a condition later if (!x) ^~ include/asm-generic/bitops/fls.h:17:2: note: Taking true branch if (!x) ^ drivers/mtd/nand/ecc-sw-bch.c:220:7: note: Returning from 'fls' fls(8 * conf->step_size), 8); ^ include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP' #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP ^ include/uapi/linux/const.h:34:40: note: expanded from macro '__KERNEL_DIV_ROUND_UP' #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) ^ drivers/mtd/nand/ecc-sw-bch.c:222:6: note: Assuming field 'strength' is 0 if (!conf->strength) ^~~~~~~~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:222:2: note: Taking true branch if (!conf->strength) ^ drivers/mtd/nand/ecc-sw-bch.c:223:38: note: Calling 'fls' conf->strength = (code_size * 8) / fls(8 * conf->step_size); ^~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/fls.h:17:7: note: 'x' is 0 if (!x) ^ include/asm-generic/bitops/fls.h:17:2: note: Taking true branch if (!x) ^ include/asm-generic/bitops/fls.h:18:3: note: Returning zero return 0; ^~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:223:38: note: Returning from 'fls' conf->strength = (code_size * 8) / fls(8 * conf->step_size); ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/nand/ecc-sw-bch.c:223:36: note: Division by zero conf->strength = (code_size * 8) / fls(8 * conf->step_size); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 16 warnings (16 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 19 warnings generated. Suppressed 19 warnings (19 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 19 warnings generated. Suppressed 19 warnings (19 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 19 warnings generated. Suppressed 19 warnings (19 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 37 warnings generated. Suppressed 37 warnings (37 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 19 warnings generated. >> drivers/hwmon/nsa320-hwmon.c:114:9: warning: Call to function 'sprintf' is >> insecure as it does not provide bounding of the memory buffer or security >> checks introduced in the C11 standard. Replace with analogous functions that >> support length arguments or provides boundary checks such as 'sprintf_s' in >> case of C11 >> [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%s\n", nsa320_input_names[channel]); ^~~~~~~ drivers/hwmon/nsa320-hwmon.c:114:9: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%s\n", nsa320_input_names[channel]); ^~~~~~~ drivers/hwmon/nsa320-hwmon.c:125:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", (mcu_data & 0xffff) * 100); ^~~~~~~ drivers/hwmon/nsa320-hwmon.c:125:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", (mcu_data & 0xffff) * 100); ^~~~~~~ drivers/hwmon/nsa320-hwmon.c:136:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", ((mcu_data & 0xff0000) >> 16) * 100); ^~~~~~~ drivers/hwmon/nsa320-hwmon.c:136:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", ((mcu_data & 0xff0000) >> 16) * 100); ^~~~~~~ Suppressed 16 warnings (16 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 16 warnings generated. Suppressed 16 warnings (16 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 52 warnings generated. drivers/hwmon/pc87360.c:249:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:249:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:257:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan_min[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:257:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan_min[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:265:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", ^~~~~~~ drivers/hwmon/pc87360.c:265:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", ^~~~~~~ drivers/hwmon/pc87360.c:273:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", ^~~~~~~ drivers/hwmon/pc87360.c:273:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", ^~~~~~~ drivers/hwmon/pc87360.c:348:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", ^~~~~~~ drivers/hwmon/pc87360.c:348:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", ^~~~~~~ drivers/hwmon/pc87360.c:397:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:397:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:405:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:405:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:413:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:413:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index], ^~~~~~~ drivers/hwmon/pc87360.c:421:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", data->in_status[attr->index]); ^~~~~~~ drivers/hwmon/pc87360.c:421:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", data->in_status[attr->index]); ^~~~~~~ drivers/hwmon/pc87360.c:535:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN)); ^~~~~~~ drivers/hwmon/pc87360.c:535:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN)); ^~~~~~~ drivers/hwmon/pc87360.c:543:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MAX)); ^~~~~~~ drivers/hwmon/pc87360.c:543:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MAX)); ^~~~~~~ drivers/hwmon/pc87360.c:585:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", vid_from_reg(data->vid, data->vrm)); ^~~~~~~ drivers/hwmon/pc87360.c:585:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", vid_from_reg(data->vid, data->vrm)); ^~~~~~~ drivers/hwmon/pc87360.c:593:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", data->vrm); ^~~~~~~ drivers/hwmon/pc87360.c:593:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", data->vrm); -- ^~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/fls.h:23:2: note: Taking false branch if (!(x & 0xff000000u)) { ^ include/asm-generic/bitops/fls.h:27:6: note: Assuming the condition is false if (!(x & 0xf0000000u)) { ^~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/fls.h:27:2: note: Taking false branch if (!(x & 0xf0000000u)) { ^ include/asm-generic/bitops/fls.h:31:6: note: Assuming the condition is false if (!(x & 0xc0000000u)) { ^~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/fls.h:31:2: note: Taking false branch if (!(x & 0xc0000000u)) { ^ include/asm-generic/bitops/fls.h:35:6: note: Assuming the condition is false if (!(x & 0x80000000u)) { ^~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/fls.h:35:2: note: Taking false branch if (!(x & 0x80000000u)) { ^ include/asm-generic/bitops/fls.h:39:2: note: Returning the value 32 (loaded from 'r') return r; ^~~~~~~~ include/linux/bitops.h:155:10: note: Returning from 'fls' return fls(l); ^~~~~~ include/linux/bitops.h:155:3: note: Returning the value 32 return fls(l); ^~~~~~~~~~~~~ include/linux/log2.h:57:16: note: Returning from 'fls_long' return 1UL << fls_long(n - 1); ^~~~~~~~~~~~~~~ include/linux/log2.h:57:13: note: The result of the left shift is undefined due to shifting by '32', which is greater or equal to the width of type 'unsigned long' return 1UL << fls_long(n - 1); ^ ~~~~~~~~~~~~~~~ Suppressed 16 warnings (16 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 40 warnings generated. drivers/firmware/turris-mox-rwtm.c:141:1: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] MOX_ATTR_RO(serial_number, "%016llX\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:141:1: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 MOX_ATTR_RO(serial_number, "%016llX\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:142:1: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] MOX_ATTR_RO(board_version, "%i\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:142:1: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 MOX_ATTR_RO(board_version, "%i\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:143:1: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] MOX_ATTR_RO(ram_size, "%i\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:143:1: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 MOX_ATTR_RO(ram_size, "%i\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:144:1: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] MOX_ATTR_RO(mac_address1, "%pM\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:144:1: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 MOX_ATTR_RO(mac_address1, "%pM\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:145:1: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] MOX_ATTR_RO(mac_address2, "%pM\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:145:1: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 MOX_ATTR_RO(mac_address2, "%pM\n", board_info); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ >> drivers/firmware/turris-mox-rwtm.c:146:1: warning: Call to function >> 'sprintf' is insecure as it does not provide bounding of the memory buffer >> or security checks introduced in the C11 standard. Replace with analogous >> functions that support length arguments or provides boundary checks such as >> 'sprintf_s' in case of C11 >> [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] MOX_ATTR_RO(pubkey, "%s\n", pubkey); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:146:1: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 MOX_ATTR_RO(pubkey, "%s\n", pubkey); ^ drivers/firmware/turris-mox-rwtm.c:137:9: note: expanded from macro 'MOX_ATTR_RO' return sprintf(buf, format, rwtm->name); \ ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:254:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(rwtm->pubkey, ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:254:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(rwtm->pubkey, ^~~~~~~ drivers/firmware/turris-mox-rwtm.c:317:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(data, rwtm->buf, max); ^~~~~~ drivers/firmware/turris-mox-rwtm.c:317:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(data, rwtm->buf, max); ^~~~~~ drivers/firmware/turris-mox-rwtm.c:387:2: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(rwtm->buf, 0, 4); ^~~~~~ drivers/firmware/turris-mox-rwtm.c:387:2: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(rwtm->buf, 0, 4); ^~~~~~ drivers/firmware/turris-mox-rwtm.c:415:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(rwtm->last_sig, rwtm->buf + 68, 136); ^~~~~~ drivers/firmware/turris-mox-rwtm.c:415:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(rwtm->last_sig, rwtm->buf + 68, 136); ^~~~~~ Suppressed 30 warnings (30 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 56 warnings generated. drivers/hwmon/gl520sm.c:193:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", vid_from_reg(data->vid, data->vrm)); ^~~~~~~ drivers/hwmon/gl520sm.c:193:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", vid_from_reg(data->vid, data->vrm)); ^~~~~~~ drivers/hwmon/gl520sm.c:213:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", VDD_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:213:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", VDD_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:215:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", IN_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:215:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", IN_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:226:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", VDD_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:226:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", VDD_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:228:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", IN_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:228:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", IN_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:239:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", VDD_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:239:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", VDD_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:241:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", IN_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:241:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", IN_FROM_REG(r)); ^~~~~~~ drivers/hwmon/gl520sm.c:344:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan_input[n], ^~~~~~~ drivers/hwmon/gl520sm.c:344:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan_input[n], ^~~~~~~ drivers/hwmon/gl520sm.c:354:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan_min[n], ^~~~~~~ drivers/hwmon/gl520sm.c:354:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan_min[n], ^~~~~~~ drivers/hwmon/gl520sm.c:364:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[n])); ^~~~~~~ drivers/hwmon/gl520sm.c:364:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[n])); ^~~~~~~ drivers/hwmon/gl520sm.c:371:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", data->fan_off); -- ^ drivers/clocksource/timer-atmel-tcb.c:443:3: note: Taking false branch pr_debug("TC: %u / %-3u [%d] --> %u\n", rate, divisor, i, tmp); ^ include/linux/printk.h:576:2: note: expanded from macro 'pr_debug' no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) ^ include/linux/printk.h:131:2: note: expanded from macro 'no_printk' if (0) \ ^ drivers/clocksource/timer-atmel-tcb.c:444:8: note: 'best_divisor_idx' is >= 0 if ((best_divisor_idx >= 0) && (tmp < 5 * 1000 * 1000)) ^~~~~~~~~~~~~~~~ drivers/clocksource/timer-atmel-tcb.c:444:7: note: Left side of '&&' is true if ((best_divisor_idx >= 0) && (tmp < 5 * 1000 * 1000)) ^ drivers/clocksource/timer-atmel-tcb.c:444:35: note: Assuming the condition is true if ((best_divisor_idx >= 0) && (tmp < 5 * 1000 * 1000)) ^~~~~~~~~~~~~~~~~~~~~ drivers/clocksource/timer-atmel-tcb.c:444:3: note: Taking true branch if ((best_divisor_idx >= 0) && (tmp < 5 * 1000 * 1000)) ^ drivers/clocksource/timer-atmel-tcb.c:445:4: note: Execution continues on line 450 break; ^ drivers/clocksource/timer-atmel-tcb.c:452:2: note: Taking false branch pr_debug("%s at %d.%03d MHz\n", clksrc.name, divided_rate / 1000000, ^ include/linux/printk.h:576:2: note: expanded from macro 'pr_debug' no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) ^ include/linux/printk.h:131:2: note: expanded from macro 'no_printk' if (0) \ ^ drivers/clocksource/timer-atmel-tcb.c:457:6: note: Assuming 'bits' is equal to 32 if (bits == 32) { ^~~~~~~~~~ drivers/clocksource/timer-atmel-tcb.c:457:2: note: Taking true branch if (bits == 32) { ^ drivers/clocksource/timer-atmel-tcb.c:481:6: note: Assuming 'ret' is 0 if (ret) ^~~ drivers/clocksource/timer-atmel-tcb.c:481:2: note: Taking false branch if (ret) ^ drivers/clocksource/timer-atmel-tcb.c:485:8: note: Calling 'setup_clkevents' ret = setup_clkevents(&tc, best_divisor_idx); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/clocksource/timer-atmel-tcb.c:261:2: note: 'bits' initialized to 32 int bits = tc->tcb_config->counter_width; ^~~~~~~~ drivers/clocksource/timer-atmel-tcb.c:264:8: note: Calling 'clk_prepare_enable' ret = clk_prepare_enable(t2_clk); ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/clk.h:951:6: note: Assuming 'ret' is 0 if (ret) ^~~ include/linux/clk.h:951:2: note: Taking false branch if (ret) ^ include/linux/clk.h:954:6: note: Assuming 'ret' is 0, which participates in a condition later if (ret) ^~~ include/linux/clk.h:954:2: note: Taking false branch if (ret) ^ include/linux/clk.h:957:2: note: Returning zero (loaded from 'ret'), which participates in a condition later return ret; ^~~~~~~~~~ drivers/clocksource/timer-atmel-tcb.c:264:8: note: Returning from 'clk_prepare_enable' ret = clk_prepare_enable(t2_clk); ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/clocksource/timer-atmel-tcb.c:265:6: note: 'ret' is 0 if (ret) ^~~ drivers/clocksource/timer-atmel-tcb.c:265:2: note: Taking false branch if (ret) ^ drivers/clocksource/timer-atmel-tcb.c:271:6: note: 'bits' is equal to 32 if (bits == 32) { ^~~~ drivers/clocksource/timer-atmel-tcb.c:271:2: note: Taking true branch if (bits == 32) { ^ drivers/clocksource/timer-atmel-tcb.c:290:6: note: Assuming 'ret' is 0 if (ret) { ^~~ drivers/clocksource/timer-atmel-tcb.c:290:2: note: Taking false branch if (ret) { ^ drivers/clocksource/timer-atmel-tcb.c:297:66: note: The result of the left shift is undefined due to shifting by '32', which is greater or equal to the width of type 'unsigned long' clockevents_config_and_register(&clkevt.clkevt, clkevt.rate, 1, BIT(bits) - 1); ^ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' #define BIT(nr) (UL(1) << (nr)) ^ ~~~~ Suppressed 16 warnings (16 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 28 warnings generated. >> drivers/leds/trigger/ledtrig-tty.c:33:9: warning: Call to function 'sprintf' >> is insecure as it does not provide bounding of the memory buffer or security >> checks introduced in the C11 standard. Replace with analogous functions that >> support length arguments or provides boundary checks such as 'sprintf_s' in >> case of C11 >> [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] len = sprintf(buf, "%s\n", trigger_data->ttyname); ^~~~~~~ drivers/leds/trigger/ledtrig-tty.c:33:9: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 len = sprintf(buf, "%s\n", trigger_data->ttyname); ^~~~~~~ Suppressed 27 warnings (27 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 27 warnings generated. Suppressed 27 warnings (27 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 16 warnings generated. Suppressed 16 warnings (16 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 33 warnings generated. drivers/firmware/qcom_scm.c:466:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(mdata_buf, metadata, size); ^~~~~~ drivers/firmware/qcom_scm.c:466:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(mdata_buf, metadata, size); ^~~~~~ drivers/firmware/qcom_scm.c:1053:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(keybuf, key, key_size); ^~~~~~ drivers/firmware/qcom_scm.c:1053:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(keybuf, key, key_size); ^~~~~~ drivers/firmware/qcom_scm.c:1126:8: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign] *resp = res.result[0]; ^ ~~~~~~~~~~~~~ drivers/firmware/qcom_scm.c:1118:6: note: Assuming 'req_cnt' is <= QCOM_SCM_HDCP_MAX_REQ_CNT if (req_cnt > QCOM_SCM_HDCP_MAX_REQ_CNT) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/firmware/qcom_scm.c:1118:2: note: Taking false branch if (req_cnt > QCOM_SCM_HDCP_MAX_REQ_CNT) ^ drivers/firmware/qcom_scm.c:1121:8: note: Calling 'qcom_scm_clk_enable' ret = qcom_scm_clk_enable(); ^~~~~~~~~~~~~~~~~~~~~ drivers/firmware/qcom_scm.c:87:8: note: Calling 'clk_prepare_enable' ret = clk_prepare_enable(__scm->core_clk); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/clk.h:951:6: note: Assuming 'ret' is 0 if (ret) ^~~ include/linux/clk.h:951:2: note: Taking false branch if (ret) ^ include/linux/clk.h:954:6: note: Assuming 'ret' is 0, which participates in a condition later if (ret) ^~~ include/linux/clk.h:954:2: note: Taking false branch if (ret) ^ include/linux/clk.h:957:2: note: Returning zero (loaded from 'ret'), which participates in a condition later return ret; ^~~~~~~~~~ drivers/firmware/qcom_scm.c:87:8: note: Returning from 'clk_prepare_enable' ret = clk_prepare_enable(__scm->core_clk); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/firmware/qcom_scm.c:88:6: note: 'ret' is 0 if (ret) ^~~ drivers/firmware/qcom_scm.c:88:2: note: Taking false branch if (ret) ^ drivers/firmware/qcom_scm.c:91:8: note: Calling 'clk_prepare_enable' ret = clk_prepare_enable(__scm->iface_clk); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/clk.h:951:6: note: Assuming 'ret' is 0 if (ret) ^~~ include/linux/clk.h:951:2: note: Taking false branch if (ret) ^ include/linux/clk.h:954:6: note: Assuming 'ret' is 0, which participates in a condition later if (ret) ^~~ include/linux/clk.h:954:2: note: Taking false branch if (ret) ^ include/linux/clk.h:957:2: note: Returning zero (loaded from 'ret'), which participates in a condition later return ret; ^~~~~~~~~~ drivers/firmware/qcom_scm.c:91:8: note: Returning from 'clk_prepare_enable' ret = clk_prepare_enable(__scm->iface_clk); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/firmware/qcom_scm.c:92:6: note: 'ret' is 0 if (ret) ^~~ drivers/firmware/qcom_scm.c:92:2: note: Taking false branch if (ret) ^ drivers/firmware/qcom_scm.c:95:8: note: Calling 'clk_prepare_enable' ret = clk_prepare_enable(__scm->bus_clk); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/clk.h:951:6: note: Assuming 'ret' is 0 if (ret) ^~~ include/linux/clk.h:951:2: note: Taking false branch if (ret) -- memset(cable->chg_propval, 0, sizeof(cable->chg_propval)); ^~~~~~ drivers/extcon/extcon.c:343:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(cable->jack_propval, 0, sizeof(cable->jack_propval)); ^~~~~~ drivers/extcon/extcon.c:343:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(cable->jack_propval, 0, sizeof(cable->jack_propval)); ^~~~~~ drivers/extcon/extcon.c:345:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(cable->disp_propval, 0, sizeof(cable->disp_propval)); ^~~~~~ drivers/extcon/extcon.c:345:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(cable->disp_propval, 0, sizeof(cable->disp_propval)); ^~~~~~ drivers/extcon/extcon.c:355:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u\n", edev->state); ^~~~~~~ drivers/extcon/extcon.c:355:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u\n", edev->state); ^~~~~~~ drivers/extcon/extcon.c:358:12: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] count += sprintf(buf + count, "%s=%d\n", ^~~~~~~ drivers/extcon/extcon.c:358:12: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 count += sprintf(buf + count, "%s=%d\n", ^~~~~~~ drivers/extcon/extcon.c:372:9: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%s\n", edev->name); ^~~~~~~ drivers/extcon/extcon.c:372:9: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%s\n", edev->name); ^~~~~~~ drivers/extcon/extcon.c:383:9: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%s\n", ^~~~~~~ drivers/extcon/extcon.c:383:9: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%s\n", ^~~~~~~ drivers/extcon/extcon.c:395:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%d\n", ^~~~~~~ drivers/extcon/extcon.c:395:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%d\n", ^~~~~~~ drivers/extcon/extcon.c:460:3: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] snprintf(name_buf, sizeof(name_buf), "NAME=%s", prop_buf); ^~~~~~~~ drivers/extcon/extcon.c:460:3: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 snprintf(name_buf, sizeof(name_buf), "NAME=%s", prop_buf); ^~~~~~~~ drivers/extcon/extcon.c:468:3: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] snprintf(state_buf, sizeof(state_buf), "STATE=%s", prop_buf); ^~~~~~~~ drivers/extcon/extcon.c:468:3: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 snprintf(state_buf, sizeof(state_buf), "STATE=%s", prop_buf); ^~~~~~~~ Suppressed 27 warnings (27 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 38 warnings generated. drivers/extcon/extcon-max8997.c:416:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = max8997_muic_handle_jig_uart(info, attached); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/extcon/extcon-max8997.c:416:3: note: Value stored to 'ret' is never read ret = max8997_muic_handle_jig_uart(info, attached); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 37 warnings (37 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 39 warnings generated. drivers/extcon/extcon-ptn5150.c:173:2: warning: Value stored to 'vendor_id' is never read [clang-analyzer-deadcode.DeadStores] vendor_id = FIELD_GET(PTN5150_REG_DEVICE_ID_VENDOR, reg_data); ^ drivers/extcon/extcon-ptn5150.c:173:2: note: Value stored to 'vendor_id' is never read drivers/extcon/extcon-ptn5150.c:174:2: warning: Value stored to 'version_id' is never read [clang-analyzer-deadcode.DeadStores] version_id = FIELD_GET(PTN5150_REG_DEVICE_ID_VERSION, reg_data); ^ drivers/extcon/extcon-ptn5150.c:174:2: note: Value stored to 'version_id' is never read Suppressed 37 warnings (37 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 37 warnings generated. Suppressed 37 warnings (37 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 37 warnings generated. Suppressed 37 warnings (37 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 16 warnings generated. Suppressed 16 warnings (16 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 27 warnings generated. drivers/memory/brcmstb_dpfe.c:414:12: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] *size = sprintf(buf, ^~~~~~~ drivers/memory/brcmstb_dpfe.c:414:12: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 *size = sprintf(buf, ^~~~~~~ drivers/memory/brcmstb_dpfe.c:703:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "ERROR: driver private data not set\n"); ^~~~~~~ drivers/memory/brcmstb_dpfe.c:703:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "ERROR: driver private data not set\n"); ^~~~~~~ >> drivers/memory/brcmstb_dpfe.c:707:10: warning: Call to function 'sprintf' is >> insecure as it does not provide bounding of the memory buffer or security >> checks introduced in the C11 standard. Replace with analogous functions that >> support length arguments or provides boundary checks such as 'sprintf_s' in >> case of C11 >> [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "ERROR: %s\n", get_error_text(-ret)); ^~~~~~~ drivers/memory/brcmstb_dpfe.c:707:10: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "ERROR: %s\n", get_error_text(-ret)); ^~~~~~~ drivers/memory/brcmstb_dpfe.c:725:7: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign] info = response[MSG_ARG0]; ^ ~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:721:8: note: Calling 'generic_show' ret = generic_show(DPFE_CMD_GET_INFO, response, priv, buf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:702:6: note: Assuming 'priv' is null, which participates in a condition later if (!priv) ^~~~~ drivers/memory/brcmstb_dpfe.c:702:2: note: Taking true branch if (!priv) ^ drivers/memory/brcmstb_dpfe.c:703:3: note: Returning value, which participates in a condition later return sprintf(buf, "ERROR: driver private data not set\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:721:8: note: Returning from 'generic_show' ret = generic_show(DPFE_CMD_GET_INFO, response, priv, buf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:722:6: note: Assuming 'ret' is 0 if (ret) ^~~ drivers/memory/brcmstb_dpfe.c:722:2: note: Taking false branch if (ret) ^ drivers/memory/brcmstb_dpfe.c:725:7: note: Assigned value is garbage or undefined info = response[MSG_ARG0]; ^ ~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:727:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%u.%u.%u.%u\n", ^~~~~~~ drivers/memory/brcmstb_dpfe.c:727:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%u.%u.%u.%u\n", ^~~~~~~ drivers/memory/brcmstb_dpfe.c:749:9: warning: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] info = get_msg_ptr(priv, response[MSG_ARG0], buf, &ret); ^ ~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:745:8: note: Calling 'generic_show' ret = generic_show(DPFE_CMD_GET_REFRESH, response, priv, buf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:702:6: note: Assuming 'priv' is null, which participates in a condition later if (!priv) ^~~~~ drivers/memory/brcmstb_dpfe.c:702:2: note: Taking true branch if (!priv) ^ drivers/memory/brcmstb_dpfe.c:703:3: note: Returning value, which participates in a condition later return sprintf(buf, "ERROR: driver private data not set\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:745:8: note: Returning from 'generic_show' ret = generic_show(DPFE_CMD_GET_REFRESH, response, priv, buf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:746:6: note: Assuming 'ret' is 0 if (ret) ^~~ drivers/memory/brcmstb_dpfe.c:746:2: note: Taking false branch if (ret) ^ drivers/memory/brcmstb_dpfe.c:749:9: note: 2nd function call argument is an uninitialized value info = get_msg_ptr(priv, response[MSG_ARG0], buf, &ret); ^ ~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:762:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%#x %#x %#x %#x %#x %#x %#x\n", ^~~~~~~ drivers/memory/brcmstb_dpfe.c:762:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%#x %#x %#x %#x %#x %#x %#x\n", ^~~~~~~ drivers/memory/brcmstb_dpfe.c:808:9: warning: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] info = get_msg_ptr(priv, response[MSG_ARG0], buf, &ret); ^ ~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:804:8: note: Calling 'generic_show' ret = generic_show(DPFE_CMD_GET_VENDOR, response, priv, buf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:702:6: note: Assuming 'priv' is null, which participates in a condition later if (!priv) ^~~~~ drivers/memory/brcmstb_dpfe.c:702:2: note: Taking true branch if (!priv) ^ drivers/memory/brcmstb_dpfe.c:703:3: note: Returning value, which participates in a condition later return sprintf(buf, "ERROR: driver private data not set\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:804:8: note: Returning from 'generic_show' ret = generic_show(DPFE_CMD_GET_VENDOR, response, priv, buf); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:805:6: note: Assuming 'ret' is 0 if (ret) ^~~ drivers/memory/brcmstb_dpfe.c:805:2: note: Taking false branch if (ret) ^ drivers/memory/brcmstb_dpfe.c:808:9: note: 2nd function call argument is an uninitialized value info = get_msg_ptr(priv, response[MSG_ARG0], buf, &ret); ^ ~~~~~~~~~~~~~~~~~~ drivers/memory/brcmstb_dpfe.c:822:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%#x %#x %#x %#x %#x\n", mr5, mr6, mr7, mr8, err); -- ^~~~~~~~~~~~~~~~~~~~~~~~~~~ net/ipv4/netfilter/ip_tables.c:66:2: note: Taking false branch if (NF_INVF(ipinfo, IPT_INV_VIA_OUT, ret != 0)) ^ net/ipv4/netfilter/ip_tables.c:70:6: note: Assuming field 'proto' is 0 if (ipinfo->proto && ^~~~~~~~~~~~~ net/ipv4/netfilter/ip_tables.c:70:20: note: Left side of '&&' is false if (ipinfo->proto && ^ net/ipv4/netfilter/ip_tables.c:77:8: note: Assuming the condition is false (ipinfo->flags & IPT_F_FRAG) && !isfrag)) ^ include/linux/netfilter/x_tables.h:13:4: note: expanded from macro 'NF_INVF' ((boolean) ^ !!((ptr)->invflags & (flag))) ^~~~~~~ net/ipv4/netfilter/ip_tables.c:77:36: note: Left side of '&&' is false (ipinfo->flags & IPT_F_FRAG) && !isfrag)) ^ net/ipv4/netfilter/ip_tables.c:76:6: note: Assuming the condition is true if (NF_INVF(ipinfo, IPT_INV_FRAG, ^ include/linux/netfilter/x_tables.h:13:16: note: expanded from macro 'NF_INVF' ((boolean) ^ !!((ptr)->invflags & (flag))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ net/ipv4/netfilter/ip_tables.c:76:2: note: Taking false branch if (NF_INVF(ipinfo, IPT_INV_FRAG, ^ net/ipv4/netfilter/ip_tables.c:80:2: note: Returning the value 1, which participates in a condition later return true; ^~~~~~~~~~~ net/ipv4/netfilter/ip_tables.c:285:8: note: Returning from 'ip_packet_match' if (!ip_packet_match(ip, indev, outdev, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/ipv4/netfilter/ip_tables.c:285:3: note: Taking false branch if (!ip_packet_match(ip, indev, outdev, ^ net/ipv4/netfilter/ip_tables.c:292:3: note: Loop condition is false. Execution continues on line 299 xt_ematch_foreach(ematch, e) { ^ include/uapi/linux/netfilter/x_tables.h:181:2: note: expanded from macro 'xt_ematch_foreach' for ((pos) = (struct xt_entry_match *)entry->elems; \ ^ net/ipv4/netfilter/ip_tables.c:300:3: note: Loop condition is false. Exiting loop ADD_COUNTER(*counter, skb->len, 1); ^ include/uapi/linux/netfilter/x_tables.h:108:28: note: expanded from macro 'ADD_COUNTER' #define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0) ^ net/ipv4/netfilter/ip_tables.c:303:11: note: Assuming field 'target' is null WARN_ON(!t->u.kernel.target); ^ include/asm-generic/bug.h:166:25: note: expanded from macro 'WARN_ON' int __ret_warn_on = !!(condition); \ ^~~~~~~~~ net/ipv4/netfilter/ip_tables.c:312:8: note: Access to field 'target' results in a dereference of a null pointer (loaded from field 'target') if (!t->u.kernel.target->target) { ^ ~~~~~~ net/ipv4/netfilter/ip_tables.c:532:2: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(&mtpar, 0, sizeof(mtpar)); ^~~~~~ net/ipv4/netfilter/ip_tables.c:532:2: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(&mtpar, 0, sizeof(mtpar)); ^~~~~~ net/ipv4/netfilter/ip_tables.c:978:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(&info, 0, sizeof(info)); ^~~~~~ net/ipv4/netfilter/ip_tables.c:978:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(&info, 0, sizeof(info)); ^~~~~~ net/ipv4/netfilter/ip_tables.c:980:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(info.hook_entry, private->hook_entry, ^~~~~~ net/ipv4/netfilter/ip_tables.c:980:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(info.hook_entry, private->hook_entry, ^~~~~~ net/ipv4/netfilter/ip_tables.c:982:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(info.underflow, private->underflow, ^~~~~~ net/ipv4/netfilter/ip_tables.c:982:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(info.underflow, private->underflow, ^~~~~~ net/ipv4/netfilter/ip_tables.c:986:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(info.name, name); ^~~~~~ net/ipv4/netfilter/ip_tables.c:986:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 strcpy(info.name, name); ^~~~~~ net/ipv4/netfilter/ip_tables.c:1735:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memcpy(loc_cpu_entry, repl->entries, repl->size); ^~~~~~ net/ipv4/netfilter/ip_tables.c:1735:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 memcpy(loc_cpu_entry, repl->entries, repl->size); ^~~~~~ Suppressed 78 warnings (77 in non-user code, 1 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 30 warnings generated. Suppressed 30 warnings (30 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 41 warnings generated. >> drivers/mmc/host/omap_hsmmc.c:747:9: warning: Call to function 'sprintf' is >> insecure as it does not provide bounding of the memory buffer or security >> checks introduced in the C11 standard. Replace with analogous functions that >> support length arguments or provides boundary checks such as 'sprintf_s' in >> case of C11 >> [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] return sprintf(buf, "%s\n", mmc_pdata(host)->name); ^~~~~~~ drivers/mmc/host/omap_hsmmc.c:747:9: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 return sprintf(buf, "%s\n", mmc_pdata(host)->name); ^~~~~~~ drivers/mmc/host/omap_hsmmc.c:873:6: warning: Access to field 'sbc' results in a dereference of a null pointer (loaded from field 'mrq') [clang-analyzer-core.NullDereference] if (host->mrq->sbc && (host->cmd == host->mrq->sbc) && ^ drivers/mmc/host/omap_hsmmc.c:1072:2: note: Loop condition is true. Entering loop body while (status & (INT_EN_MASK | CIRQ_EN)) { ^ drivers/mmc/host/omap_hsmmc.c:1073:7: note: Assuming field 'req_in_progress' is not equal to 0 if (host->req_in_progress) ^~~~~~~~~~~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:1073:3: note: Taking true branch if (host->req_in_progress) ^ drivers/mmc/host/omap_hsmmc.c:1074:4: note: Calling 'omap_hsmmc_do_irq' omap_hsmmc_do_irq(host, status); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:1023:2: note: Taking false branch dev_vdbg(mmc_dev(host->mmc), "IRQ Status is %x\n", status); ^ include/linux/dev_printk.h:261:2: note: expanded from macro 'dev_vdbg' if (0) \ ^ drivers/mmc/host/omap_hsmmc.c:1025:6: note: Assuming the condition is false if (status & ERR_EN) { ^~~~~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:1025:2: note: Taking false branch if (status & ERR_EN) { ^ drivers/mmc/host/omap_hsmmc.c:1057:6: note: 'end_cmd' is 0 if (end_cmd || ((status & CC_EN) && host->cmd)) ^~~~~~~ drivers/mmc/host/omap_hsmmc.c:1057:6: note: Left side of '||' is false drivers/mmc/host/omap_hsmmc.c:1057:19: note: Assuming the condition is false if (end_cmd || ((status & CC_EN) && host->cmd)) ^~~~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:1057:35: note: Left side of '&&' is false if (end_cmd || ((status & CC_EN) && host->cmd)) ^ drivers/mmc/host/omap_hsmmc.c:1059:7: note: 'end_trans' is 0 if ((end_trans || (status & TC_EN)) && host->mrq) ^~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:1059:7: note: Left side of '||' is false drivers/mmc/host/omap_hsmmc.c:1059:21: note: Assuming the condition is true if ((end_trans || (status & TC_EN)) && host->mrq) ^~~~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:1059:6: note: Left side of '&&' is true if ((end_trans || (status & TC_EN)) && host->mrq) ^ drivers/mmc/host/omap_hsmmc.c:1059:41: note: Assuming field 'mrq' is non-null if ((end_trans || (status & TC_EN)) && host->mrq) ^~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:1059:2: note: Taking true branch if ((end_trans || (status & TC_EN)) && host->mrq) ^ drivers/mmc/host/omap_hsmmc.c:1060:3: note: Calling 'omap_hsmmc_xfer_done' omap_hsmmc_xfer_done(host, data); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:840:6: note: Assuming 'data' is non-null if (!data) { ^~~~~ drivers/mmc/host/omap_hsmmc.c:840:2: note: Taking false branch if (!data) { ^ drivers/mmc/host/omap_hsmmc.c:856:6: note: Assuming field 'error' is not equal to 0 if (!data->error) ^~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:856:2: note: Taking false branch if (!data->error) ^ drivers/mmc/host/omap_hsmmc.c:861:6: note: Assuming field 'stop' is null if (data->stop && (data->error || !host->mrq->sbc)) ^~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:861:17: note: Left side of '&&' is false if (data->stop && (data->error || !host->mrq->sbc)) ^ drivers/mmc/host/omap_hsmmc.c:864:3: note: Calling 'omap_hsmmc_request_done' omap_hsmmc_request_done(host, data->mrq); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mmc/host/omap_hsmmc.c:821:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&host->irq_lock, flags); ^ include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^ include/linux/spinlock.h:240:2: note: expanded from macro 'raw_spin_lock_irqsave' do { \ ^ drivers/mmc/host/omap_hsmmc.c:821:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&host->irq_lock, flags); ^ include/linux/spinlock.h:377:43: note: expanded from macro 'spin_lock_irqsave' #define spin_lock_irqsave(lock, flags) \ ^ drivers/mmc/host/omap_hsmmc.c:828:6: note: Assuming field 'data' is null if (mrq->data && host->use_dma && dma_ch != -1) ^~~~~~~~~ -- ^ ~~~ net/core/pktgen.c:1182:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1187:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: udp_dst_max=%u", pkt_dev->udp_dst_max); ^~~~~~~ net/core/pktgen.c:1187:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: udp_dst_max=%u", pkt_dev->udp_dst_max); ^~~~~~~ net/core/pktgen.c:1204:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1204:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1207:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: clone_skb=%d", pkt_dev->clone_skb); ^~~~~~~ net/core/pktgen.c:1207:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: clone_skb=%d", pkt_dev->clone_skb); ^~~~~~~ net/core/pktgen.c:1215:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1215:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1217:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: count=%llu", ^~~~~~~ net/core/pktgen.c:1217:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: count=%llu", ^~~~~~~ net/core/pktgen.c:1226:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1226:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1231:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: src_mac_count=%d", ^~~~~~~ net/core/pktgen.c:1231:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: src_mac_count=%d", ^~~~~~~ net/core/pktgen.c:1240:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1240:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1245:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: dst_mac_count=%d", ^~~~~~~ net/core/pktgen.c:1245:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: dst_mac_count=%d", ^~~~~~~ net/core/pktgen.c:1254:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1254:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1261:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: burst=%u", pkt_dev->burst); ^~~~~~~ net/core/pktgen.c:1261:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: burst=%u", pkt_dev->burst); ^~~~~~~ net/core/pktgen.c:1269:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1269:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1273:4: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: node=%d", pkt_dev->node); ^~~~~~~ net/core/pktgen.c:1273:4: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: node=%d", pkt_dev->node); ^~~~~~~ net/core/pktgen.c:1280:4: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "ERROR: node not possible"); ^~~~~~~ net/core/pktgen.c:1280:4: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "ERROR: node not possible"); ^~~~~~~ net/core/pktgen.c:1286:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(f, 0, 32); ^~~~~~ net/core/pktgen.c:1286:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(f, 0, 32); ^~~~~~ net/core/pktgen.c:1293:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1293:3: note: Value stored to 'i' is never read i += len; ^ ~~~ >> net/core/pktgen.c:1312:4: warning: Call to function 'sprintf' is insecure as >> it does not provide bounding of the memory buffer or security checks >> introduced in the C11 standard. Replace with analogous functions that >> support length arguments or provides boundary checks such as 'sprintf_s' in >> case of C11 >> [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, ^~~~~~~ net/core/pktgen.c:1312:4: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, ^~~~~~~ net/core/pktgen.c:1317:3: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: xmit_mode=%s", f); ^~~~~~~ net/core/pktgen.c:1317:3: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: xmit_mode=%s", f); ^~~~~~~ net/core/pktgen.c:1325:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(f, 0, 32); ^~~~~~ net/core/pktgen.c:1325:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(f, 0, 32); ^~~~~~ net/core/pktgen.c:1332:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1332:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1342:4: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, ^~~~~~~ net/core/pktgen.c:1342:4: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, ^~~~~~~ net/core/pktgen.c:1356:3: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: flags=0x%x", pkt_dev->flags); ^~~~~~~ net/core/pktgen.c:1356:3: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: flags=0x%x", pkt_dev->flags); ^~~~~~~ net/core/pktgen.c:1368:4: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(pkt_dev->dst_min, 0, sizeof(pkt_dev->dst_min)); ^~~~~~ net/core/pktgen.c:1368:4: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(pkt_dev->dst_min, 0, sizeof(pkt_dev->dst_min)); ^~~~~~ net/core/pktgen.c:1369:4: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(pkt_dev->dst_min, buf); ^~~~~~ net/core/pktgen.c:1369:4: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 strcpy(pkt_dev->dst_min, buf); ^~~~~~ net/core/pktgen.c:1375:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1375:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1376:3: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: dst_min=%s", pkt_dev->dst_min); ^~~~~~~ net/core/pktgen.c:1376:3: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: dst_min=%s", pkt_dev->dst_min); ^~~~~~~ net/core/pktgen.c:1388:4: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] memset(pkt_dev->dst_max, 0, sizeof(pkt_dev->dst_max)); ^~~~~~ net/core/pktgen.c:1388:4: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 memset(pkt_dev->dst_max, 0, sizeof(pkt_dev->dst_max)); ^~~~~~ net/core/pktgen.c:1389:4: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(pkt_dev->dst_max, buf); ^~~~~~ net/core/pktgen.c:1389:4: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 strcpy(pkt_dev->dst_max, buf); ^~~~~~ net/core/pktgen.c:1395:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1395:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1396:3: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: dst_max=%s", pkt_dev->dst_max); ^~~~~~~ net/core/pktgen.c:1396:3: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: dst_max=%s", pkt_dev->dst_max); ^~~~~~~ net/core/pktgen.c:1411:3: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] snprintf(buf, sizeof(buf), "%pI6c", &pkt_dev->in6_daddr); ^~~~~~~~ net/core/pktgen.c:1411:3: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 snprintf(buf, sizeof(buf), "%pI6c", &pkt_dev->in6_daddr); ^~~~~~~~ net/core/pktgen.c:1418:3: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores] i += len; ^ ~~~ net/core/pktgen.c:1418:3: note: Value stored to 'i' is never read i += len; ^ ~~~ net/core/pktgen.c:1419:3: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling] sprintf(pg_result, "OK: dst6=%s", buf); ^~~~~~~ net/core/pktgen.c:1419:3: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 sprintf(pg_result, "OK: dst6=%s", buf); vim +114 drivers/hwmon/nsa320-hwmon.c 630300d5fcb6ee Adam Baker 2016-03-05 108 f0faf62c71a9a9 Guenter Roeck 2018-12-10 109 static ssize_t label_show(struct device *dev, struct device_attribute *attr, f0faf62c71a9a9 Guenter Roeck 2018-12-10 110 char *buf) 630300d5fcb6ee Adam Baker 2016-03-05 111 { 630300d5fcb6ee Adam Baker 2016-03-05 112 int channel = to_sensor_dev_attr(attr)->index; 630300d5fcb6ee Adam Baker 2016-03-05 113 630300d5fcb6ee Adam Baker 2016-03-05 @114 return sprintf(buf, "%s\n", nsa320_input_names[channel]); 630300d5fcb6ee Adam Baker 2016-03-05 115 } 630300d5fcb6ee Adam Baker 2016-03-05 116 :::::: The code at line 114 was first introduced by commit :::::: 630300d5fcb6ee9c32c75d8b576c100fbb794159 hwmon: Create an NSA320 hardware monitoring driver :::::: TO: Adam Baker <li...@baker-net.org.uk> :::::: CC: Guenter Roeck <li...@roeck-us.net> --- 0-DAY CI Kernel Test Service https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org