CC: [email protected] CC: [email protected] CC: [email protected] TO: Dave Ertman <[email protected]> CC: Tony Nguyen <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 58e1100fdc5990b0cc0d4beaf2562a92e621ac7d commit: df006dd4b1dca8c486f73ae76fb77c06afae83f2 ice: Add initial support framework for LAG date: 10 months ago :::::: branch date: 13 hours ago :::::: commit date: 10 months ago config: arm-randconfig-c002-20211126 (https://download.01.org/0day-ci/archive/20211201/[email protected]/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5162b558d8c0b542e752b037e72a69d5fd51eb1e) 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/torvalds/linux.git/commit/?id=df006dd4b1dca8c486f73ae76fb77c06afae83f2 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout df006dd4b1dca8c486f73ae76fb77c06afae83f2 # 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 <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) ^ include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:9673:11: note: '?' condition is false acaps = be32_to_cpu(cmd.u.info32.acaps32); ^ include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu' #define be32_to_cpu __be32_to_cpu ^ include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu' #define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x)) ^ include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:9676:8: note: Calling 't4_alloc_vi' ret = t4_alloc_vi(pi->adapter, mbox, port, pf, vf, 1, mac, &rss_size, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:7638:16: note: '?' condition is false c.op_to_vfn = cpu_to_be32(FW_CMD_OP_V(FW_VI_CMD) | FW_CMD_REQUEST_F | ^ include/linux/byteorder/generic.h:94:21: note: expanded from macro 'cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ include/uapi/linux/byteorder/little_endian.h:39:43: note: expanded from macro '__cpu_to_be32' #define __cpu_to_be32(x) ((__force __be32)__swab32((x))) ^ include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:7641:21: note: '?' condition is true c.alloc_to_len16 = cpu_to_be32(FW_VI_CMD_ALLOC_F | FW_LEN16(c)); ^ include/linux/byteorder/generic.h:94:21: note: expanded from macro 'cpu_to_be32' #define cpu_to_be32 __cpu_to_be32 ^ include/uapi/linux/byteorder/little_endian.h:39:43: note: expanded from macro '__cpu_to_be32' #define __cpu_to_be32(x) ((__force __be32)__swab32((x))) ^ include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:7646:6: note: Assuming 'ret' is not equal to 0 if (ret) ^~~ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:7646:2: note: Taking true branch if (ret) ^ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:7647:3: note: Returning without writing to '*rss_size' return ret; ^ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:9676:8: note: Returning from 't4_alloc_vi' ret = t4_alloc_vi(pi->adapter, mbox, port, pf, vf, 1, mac, &rss_size, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:9678:6: note: Assuming 'ret' is >= 0 if (ret < 0) ^~~~~~~ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:9678:2: note: Taking false branch if (ret < 0) ^ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:9684:15: note: Assigned value is garbage or undefined pi->rss_size = rss_size; ^ ~~~~~~~~ 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. 9 warnings generated. drivers/net/ethernet/intel/iavf/iavf_txrx.c:1816:3: warning: Value stored to 'protocol' is never read [clang-analyzer-deadcode.DeadStores] protocol = vhdr->h_vlan_encapsulated_proto; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/iavf/iavf_txrx.c:1816:3: note: Value stored to 'protocol' is never read protocol = vhdr->h_vlan_encapsulated_proto; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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. 8 warnings generated. 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. 8 warnings generated. 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. 8 warnings generated. 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. 9 warnings generated. drivers/net/ethernet/intel/ice/ice_fw_update.c:366:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = ice_pf_to_dev(pf); ^~~ drivers/net/ethernet/intel/ice/ice_fw_update.c:366:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = ice_pf_to_dev(pf); ^~~ 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. 20 warnings generated. >> drivers/net/ethernet/intel/ice/ice_lag.c:65:17: warning: Value stored to >> 'dev' during its initialization is never read >> [clang-analyzer-deadcode.DeadStores] struct device *dev = &lag->pf->pdev->dev; ^~~ ~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:65:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = &lag->pf->pdev->dev; ^~~ ~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/intel/ice/ice_lag.c:67:2: warning: Value stored to >> 'name' is never read [clang-analyzer-deadcode.DeadStores] name = lag->netdev ? netdev_name(lag->netdev) : "unset"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:67:2: note: Value stored to 'name' is never read name = lag->netdev ? netdev_name(lag->netdev) : "unset"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/intel/ice/ice_lag.c:68:2: warning: Value stored to >> 'peer' is never read [clang-analyzer-deadcode.DeadStores] peer = lag->peer_netdev ? netdev_name(lag->peer_netdev) : "unset"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:68:2: note: Value stored to 'peer' is never read peer = lag->peer_netdev ? netdev_name(lag->peer_netdev) : "unset"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/intel/ice/ice_lag.c:69:2: warning: Value stored to >> 'upper' is never read [clang-analyzer-deadcode.DeadStores] upper = lag->upper_netdev ? netdev_name(lag->upper_netdev) : "unset"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:69:2: note: Value stored to 'upper' is never read upper = lag->upper_netdev ? netdev_name(lag->upper_netdev) : "unset"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/intel/ice/ice_lag.c:70:2: warning: Value stored to >> 'master' is never read [clang-analyzer-deadcode.DeadStores] master = lag->master ? "TRUE" : "FALSE"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:70:2: note: Value stored to 'master' is never read master = lag->master ? "TRUE" : "FALSE"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/intel/ice/ice_lag.c:71:2: warning: Value stored to >> 'bonded' is never read [clang-analyzer-deadcode.DeadStores] bonded = lag->bonded ? "BONDED" : "UNBONDED"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:71:2: note: Value stored to 'bonded' is never read bonded = lag->bonded ? "BONDED" : "UNBONDED"; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/ethernet/intel/ice/ice_lag.c:75:3: warning: Value stored to >> 'role' is never read [clang-analyzer-deadcode.DeadStores] role = "NONE"; ^ ~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:75:3: note: Value stored to 'role' is never read role = "NONE"; ^ ~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:78:3: warning: Value stored to 'role' is never read [clang-analyzer-deadcode.DeadStores] role = "PRIMARY"; ^ ~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:78:3: note: Value stored to 'role' is never read role = "PRIMARY"; ^ ~~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:81:3: warning: Value stored to 'role' is never read [clang-analyzer-deadcode.DeadStores] role = "BACKUP"; ^ ~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:81:3: note: Value stored to 'role' is never read role = "BACKUP"; ^ ~~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:84:3: warning: Value stored to 'role' is never read [clang-analyzer-deadcode.DeadStores] role = "UNSET"; ^ ~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:84:3: note: Value stored to 'role' is never read role = "UNSET"; ^ ~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:87:3: warning: Value stored to 'role' is never read [clang-analyzer-deadcode.DeadStores] role = "ERROR"; ^ ~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:87:3: note: Value stored to 'role' is never read role = "ERROR"; ^ ~~~~~~~ drivers/net/ethernet/intel/ice/ice_lag.c:356:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = ice_pf_to_dev(lag->pf); ^~~ drivers/net/ethernet/intel/ice/ice_lag.c:356:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = ice_pf_to_dev(lag->pf); ^~~ 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. 8 warnings generated. 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. 8 warnings generated. 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. 8 warnings generated. 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. 15 warnings generated. drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:1579:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = kstrtouint(end, 10, &j); ^ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:1579:4: note: Value stored to 'ret' is never read ret = kstrtouint(end, 10, &j); ^ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:2216:9: warning: Array subscript is undefined [clang-analyzer-core.uninitialized.ArraySubscript] if (!isxdigit(*p)) ^ include/linux/ctype.h:35:23: note: expanded from macro 'isxdigit' #define isxdigit(c) ((__ismask(c)&(_D|_X)) != 0) ^~~~~~~~~~~ include/linux/ctype.h:23:22: note: expanded from macro '__ismask' #define __ismask(x) (_ctype[(int)(unsigned char)(x)]) ^ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:2205:6: note: Assuming the condition is false if (count > sizeof(s) - 1) ^~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:2205:2: note: Taking false branch if (count > sizeof(s) - 1) ^ drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c:2207:6: note: Calling 'copy_from_user' if (copy_from_user(s, buf, count)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/uaccess.h:191:2: note: Taking true branch if (likely(check_copy_size(to, n, false))) ^ include/linux/uaccess.h:192:7: note: Calling '_copy_from_user' n = _copy_from_user(to, from, n); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/uaccess.h:157:6: note: Left side of '&&' is true if (!should_fail_usercopy() && likely(access_ok(from, n))) { ^ include/linux/uaccess.h:157:33: note: Assuming the condition is false if (!should_fail_usercopy() && likely(access_ok(from, n))) { ^ include/linux/compiler.h:45:22: note: expanded from macro 'likely' # define likely(x) (__branch_check__(x, 1, __builtin_constant_p(x))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:23:50: note: expanded from macro '__branch_check__' #define __branch_check__(x, expect, is_constant) ({ \ ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/uaccess.h:157:2: note: Taking false branch if (!should_fail_usercopy() && likely(access_ok(from, n))) { ^ include/linux/uaccess.h:161:6: note: Assuming 'res' is 0, which participates in a condition later if (unlikely(res)) ^ include/linux/compiler.h:48:24: note: expanded from macro 'unlikely' # define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:33:32: note: expanded from macro '__branch_check__' ______r = __builtin_expect(!!(x), expect); \ vim +/dev +65 drivers/net/ethernet/intel/ice/ice_lag.c df006dd4b1dca8 Dave Ertman 2020-11-20 57 df006dd4b1dca8 Dave Ertman 2020-11-20 58 /** df006dd4b1dca8 Dave Ertman 2020-11-20 59 * ice_display_lag_info - print LAG info df006dd4b1dca8 Dave Ertman 2020-11-20 60 * @lag: LAG info struct df006dd4b1dca8 Dave Ertman 2020-11-20 61 */ df006dd4b1dca8 Dave Ertman 2020-11-20 62 static void ice_display_lag_info(struct ice_lag *lag) df006dd4b1dca8 Dave Ertman 2020-11-20 63 { df006dd4b1dca8 Dave Ertman 2020-11-20 64 const char *name, *peer, *upper, *role, *bonded, *master; df006dd4b1dca8 Dave Ertman 2020-11-20 @65 struct device *dev = &lag->pf->pdev->dev; df006dd4b1dca8 Dave Ertman 2020-11-20 66 df006dd4b1dca8 Dave Ertman 2020-11-20 @67 name = lag->netdev ? netdev_name(lag->netdev) : "unset"; df006dd4b1dca8 Dave Ertman 2020-11-20 @68 peer = lag->peer_netdev ? netdev_name(lag->peer_netdev) : "unset"; df006dd4b1dca8 Dave Ertman 2020-11-20 @69 upper = lag->upper_netdev ? netdev_name(lag->upper_netdev) : "unset"; df006dd4b1dca8 Dave Ertman 2020-11-20 @70 master = lag->master ? "TRUE" : "FALSE"; df006dd4b1dca8 Dave Ertman 2020-11-20 @71 bonded = lag->bonded ? "BONDED" : "UNBONDED"; df006dd4b1dca8 Dave Ertman 2020-11-20 72 df006dd4b1dca8 Dave Ertman 2020-11-20 73 switch (lag->role) { df006dd4b1dca8 Dave Ertman 2020-11-20 74 case ICE_LAG_NONE: df006dd4b1dca8 Dave Ertman 2020-11-20 @75 role = "NONE"; df006dd4b1dca8 Dave Ertman 2020-11-20 76 break; df006dd4b1dca8 Dave Ertman 2020-11-20 77 case ICE_LAG_PRIMARY: df006dd4b1dca8 Dave Ertman 2020-11-20 78 role = "PRIMARY"; df006dd4b1dca8 Dave Ertman 2020-11-20 79 break; df006dd4b1dca8 Dave Ertman 2020-11-20 80 case ICE_LAG_BACKUP: df006dd4b1dca8 Dave Ertman 2020-11-20 81 role = "BACKUP"; df006dd4b1dca8 Dave Ertman 2020-11-20 82 break; df006dd4b1dca8 Dave Ertman 2020-11-20 83 case ICE_LAG_UNSET: df006dd4b1dca8 Dave Ertman 2020-11-20 84 role = "UNSET"; df006dd4b1dca8 Dave Ertman 2020-11-20 85 break; df006dd4b1dca8 Dave Ertman 2020-11-20 86 default: df006dd4b1dca8 Dave Ertman 2020-11-20 87 role = "ERROR"; df006dd4b1dca8 Dave Ertman 2020-11-20 88 } df006dd4b1dca8 Dave Ertman 2020-11-20 89 df006dd4b1dca8 Dave Ertman 2020-11-20 90 dev_dbg(dev, "%s %s, peer:%s, upper:%s, role:%s, master:%s\n", name, df006dd4b1dca8 Dave Ertman 2020-11-20 91 bonded, peer, upper, role, master); df006dd4b1dca8 Dave Ertman 2020-11-20 92 } df006dd4b1dca8 Dave Ertman 2020-11-20 93 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
