CC: [email protected] CC: [email protected] CC: [email protected] TO: Michal Simek <[email protected]>
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.10 head: bf98c1493fb23bfd7e2678498b7e337ce2cd1d53 commit: 824faebe34d034969fc79852a2999fdc11c5cd33 [626/1760] fpga: Add firmware store function :::::: branch date: 14 hours ago :::::: commit date: 3 months ago config: x86_64-randconfig-c001-20210810 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d39ebdae674c8efc84ebe8dc32716ec353220530) 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 x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu # https://github.com/Xilinx/linux-xlnx/commit/824faebe34d034969fc79852a2999fdc11c5cd33 git remote add xlnx https://github.com/Xilinx/linux-xlnx git fetch --no-tags xlnx xlnx_rebase_v5.10 git checkout 824faebe34d034969fc79852a2999fdc11c5cd33 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) ^~~~~~~~~~~ mm/hugetlb.c:1900:9: note: Returning from 'alloc_surplus_huge_page' page = alloc_surplus_huge_page(h, gfp_mask, nid, nodemask); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm/hugetlb.c:1903:2: note: Returning null pointer (loaded from 'page'), which participates in a condition later return page; ^~~~~~~~~~~ mm/hugetlb.c:2327:10: note: Returning from 'alloc_buddy_huge_page_with_mpol' page = alloc_buddy_huge_page_with_mpol(h, vma, addr); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm/hugetlb.c:2328:8: note: 'page' is null if (!page) ^~~~ mm/hugetlb.c:2328:3: note: Taking true branch if (!page) ^ mm/hugetlb.c:2329:4: note: Control jumps to line 2373 goto out_uncharge_cgroup; ^ mm/hugetlb.c:2373:2: note: 3rd function call argument is an uninitialized value hugetlb_cgroup_uncharge_cgroup(idx, pages_per_huge_page(h), h_cg); ^ ~~~~ Suppressed 8 warnings (8 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. 6 warnings generated. fs/crypto/keysetup_v1.c:82:2: warning: Potential leak of memory pointed to by 'req' [clang-analyzer-unix.Malloc] crypto_free_skcipher(tfm); ^ fs/crypto/keysetup_v1.c:307:30: note: Left side of '&&' is false if (key == ERR_PTR(-ENOKEY) && ci->ci_inode->i_sb->s_cop->key_prefix) { ^ fs/crypto/keysetup_v1.c:312:2: note: Taking false branch if (IS_ERR(key)) ^ fs/crypto/keysetup_v1.c:315:8: note: Calling 'fscrypt_setup_v1_file_key' err = fscrypt_setup_v1_file_key(ci, payload->raw); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/crypto/keysetup_v1.c:292:6: note: Assuming the condition is false if (ci->ci_policy.v1.flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/crypto/keysetup_v1.c:292:2: note: Taking false branch if (ci->ci_policy.v1.flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY) ^ fs/crypto/keysetup_v1.c:295:10: note: Calling 'setup_v1_file_key_derived' return setup_v1_file_key_derived(ci, raw_master_key); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/crypto/keysetup_v1.c:276:6: note: Assuming 'derived_key' is non-null if (!derived_key) ^~~~~~~~~~~~ fs/crypto/keysetup_v1.c:276:2: note: Taking false branch if (!derived_key) ^ fs/crypto/keysetup_v1.c:279:8: note: Calling 'derive_key_aes' err = derive_key_aes(raw_master_key, ci->ci_nonce, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/crypto/keysetup_v1.c:57:2: note: Taking false branch if (IS_ERR(tfm)) { ^ fs/crypto/keysetup_v1.c:63:8: note: Calling 'skcipher_request_alloc' req = skcipher_request_alloc(tfm, GFP_KERNEL); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/crypto/skcipher.h:496:8: note: Memory is allocated req = kmalloc(sizeof(struct skcipher_request) + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/crypto/skcipher.h:499:6: note: Assuming 'req' is non-null if (likely(req)) ^ include/linux/compiler.h:77:38: note: expanded from macro 'likely' # define likely(x) __builtin_expect(!!(x), 1) ^~~~ include/crypto/skcipher.h:499:2: note: Taking true branch if (likely(req)) ^ fs/crypto/keysetup_v1.c:63:8: note: Returned allocated memory req = skcipher_request_alloc(tfm, GFP_KERNEL); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/crypto/keysetup_v1.c:64:7: note: 'req' is non-null if (!req) { ^~~ fs/crypto/keysetup_v1.c:64:2: note: Taking false branch if (!req) { ^ fs/crypto/keysetup_v1.c:72:6: note: Assuming 'res' is < 0 if (res < 0) ^~~~~~~ fs/crypto/keysetup_v1.c:72:2: note: Taking true branch if (res < 0) ^ fs/crypto/keysetup_v1.c:73:3: note: Control jumps to line 81 goto out; ^ fs/crypto/keysetup_v1.c:82:2: note: Potential leak of memory pointed to by 'req' crypto_free_skcipher(tfm); ^ Suppressed 5 warnings (5 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. 5 warnings generated. Suppressed 5 warnings (5 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. 7 warnings generated. >> drivers/fpga/fpga-mgr.c:451:2: 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(image_name, buf); ^~~~~~ drivers/fpga/fpga-mgr.c:451:2: 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(image_name, buf); ^~~~~~ Suppressed 6 warnings (6 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. 6 warnings generated. Suppressed 6 warnings (6 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. 11 warnings generated. drivers/fsi/fsi-core.c:719:4: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores] rc = -EFAULT; ^ ~~~~~~~ drivers/fsi/fsi-core.c:719:4: note: Value stored to 'rc' is never read rc = -EFAULT; ^ ~~~~~~~ drivers/fsi/fsi-core.c:724:2: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores] rc = count; ^ ~~~~~ drivers/fsi/fsi-core.c:724:2: note: Value stored to 'rc' is never read rc = count; ^ ~~~~~ drivers/fsi/fsi-core.c:753:4: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores] rc = -EFAULT; ^ ~~~~~~~ drivers/fsi/fsi-core.c:753:4: note: Value stored to 'rc' is never read rc = -EFAULT; ^ ~~~~~~~ drivers/fsi/fsi-core.c:761:2: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores] rc = count; ^ ~~~~~ drivers/fsi/fsi-core.c:761:2: note: Value stored to 'rc' is never read rc = count; ^ ~~~~~ Suppressed 7 warnings (7 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. 7 warnings generated. Suppressed 7 warnings (7 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. 8 warnings generated. drivers/fsi/fsi-scom.c:356:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = &scom->fsi_dev->dev; ^~~ ~~~~~~~~~~~~~~~~~~~ drivers/fsi/fsi-scom.c:356:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = &scom->fsi_dev->dev; ^~~ ~~~~~~~~~~~~~~~~~~~ drivers/fsi/fsi-scom.c:386:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = &scom->fsi_dev->dev; ^~~ ~~~~~~~~~~~~~~~~~~~ drivers/fsi/fsi-scom.c:386:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = &scom->fsi_dev->dev; ^~~ ~~~~~~~~~~~~~~~~~~~ Suppressed 6 warnings (6 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. 13 warnings generated. Suppressed 13 warnings (13 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. 18 warnings generated. drivers/net/xen-netfront.c:105:8: warning: Excessive padding in 'struct netfront_queue' (96 padding bytes, where 32 is optimal). Optimal fields order: xdp_rxq, rx_lock, info, xdp_prog, page_pool, tx, rx, tx_lock, rx_refill_timer, napi, tx_skbs, grant_tx_page, rx_skbs, id, tx_evtchn, rx_evtchn, tx_irq, rx_irq, tx_ring_ref, gref_tx_head, tx_skb_freelist, rx_ring_ref, gref_rx_head, grant_tx_ref, grant_rx_ref, name, tx_irq_name, rx_irq_name, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct netfront_queue { ~~~~~~~^~~~~~~~~~~~~~~~ drivers/net/xen-netfront.c:105:8: note: Excessive padding in 'struct netfront_queue' (96 padding bytes, where 32 is optimal). Optimal fields order: xdp_rxq, rx_lock, info, xdp_prog, page_pool, tx, rx, tx_lock, rx_refill_timer, napi, tx_skbs, grant_tx_page, rx_skbs, id, tx_evtchn, rx_evtchn, tx_irq, rx_irq, tx_ring_ref, gref_tx_head, tx_skb_freelist, rx_ring_ref, gref_rx_head, grant_tx_ref, grant_rx_ref, name, tx_irq_name, rx_irq_name, consider reordering the fields or adding explicit padding members struct netfront_queue { ~~~~~~~^~~~~~~~~~~~~~~~ drivers/net/xen-netfront.c:299:11: warning: Value stored to 'req_prod' during its initialization is never read [clang-analyzer-deadcode.DeadStores] RING_IDX req_prod = queue->rx.req_prod_pvt; ^~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ drivers/net/xen-netfront.c:299:11: note: Value stored to 'req_prod' during its initialization is never read RING_IDX req_prod = queue->rx.req_prod_pvt; vim +451 drivers/fpga/fpga-mgr.c ecb5fbe299dfaa Wu Hao 2018-06-30 437 824faebe34d034 Michal Simek 2019-12-31 438 static ssize_t firmware_store(struct device *dev, 824faebe34d034 Michal Simek 2019-12-31 439 struct device_attribute *attr, 824faebe34d034 Michal Simek 2019-12-31 440 const char *buf, size_t count) 824faebe34d034 Michal Simek 2019-12-31 441 { 824faebe34d034 Michal Simek 2019-12-31 442 struct fpga_manager *mgr = to_fpga_manager(dev); 824faebe34d034 Michal Simek 2019-12-31 443 unsigned int len; 824faebe34d034 Michal Simek 2019-12-31 444 char image_name[NAME_MAX]; 824faebe34d034 Michal Simek 2019-12-31 445 int ret; 824faebe34d034 Michal Simek 2019-12-31 446 824faebe34d034 Michal Simek 2019-12-31 447 /* struct with information about the FPGA image to program. */ 824faebe34d034 Michal Simek 2019-12-31 448 struct fpga_image_info info = {0}; 824faebe34d034 Michal Simek 2019-12-31 449 824faebe34d034 Michal Simek 2019-12-31 450 /* lose terminating \n */ 824faebe34d034 Michal Simek 2019-12-31 @451 strcpy(image_name, buf); 824faebe34d034 Michal Simek 2019-12-31 452 len = strlen(image_name); 824faebe34d034 Michal Simek 2019-12-31 453 if (image_name[len - 1] == '\n') 824faebe34d034 Michal Simek 2019-12-31 454 image_name[len - 1] = 0; 824faebe34d034 Michal Simek 2019-12-31 455 824faebe34d034 Michal Simek 2019-12-31 456 ret = fpga_mgr_firmware_load(mgr, &info, image_name); 824faebe34d034 Michal Simek 2019-12-31 457 if (ret) 824faebe34d034 Michal Simek 2019-12-31 458 return ret; 824faebe34d034 Michal Simek 2019-12-31 459 824faebe34d034 Michal Simek 2019-12-31 460 return count; 824faebe34d034 Michal Simek 2019-12-31 461 } 824faebe34d034 Michal Simek 2019-12-31 462 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
