lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202507010618.ffCC4JWZ-lkp@intel.com>
Date: Tue, 1 Jul 2025 06:29:03 +0800
From: kernel test robot <lkp@...el.com>
To: Mark Zhang <markzhang@...dia.com>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
	linux-kernel@...r.kernel.org, Leon Romanovsky <leon@...nel.org>
Subject: drivers/infiniband/core/nldev.c:2459:12: warning: stack frame size
 (1032) exceeds limit (1024) in 'nldev_stat_get_counter_status_doit'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d0b3b7b22dfa1f4b515fd3a295b3fd958f9e81af
commit: 060c642b2ab8b40b39f9db99c1d14c7d19ba507f RDMA/nldev: Add support to add/delete a sub IB device through netlink
date:   12 months ago
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20250701/202507010618.ffCC4JWZ-lkp@intel.com/config)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250701/202507010618.ffCC4JWZ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507010618.ffCC4JWZ-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/infiniband/core/nldev.c:35:
   In file included from include/linux/pid_namespace.h:7:
   In file included from include/linux/mm.h:2253:
   include/linux/vmstat.h:500:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     500 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     501 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:507:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     507 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     508 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     514 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   include/linux/vmstat.h:519:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     519 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     520 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:528:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     528 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     529 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   drivers/infiniband/core/nldev.c:1251:12: warning: stack frame size (1048) exceeds limit (1024) in 'nldev_port_get_dumpit' [-Wframe-larger-than]
    1251 | static int nldev_port_get_dumpit(struct sk_buff *skb,
         |            ^
   drivers/infiniband/core/nldev.c:2402:12: warning: stack frame size (1048) exceeds limit (1024) in 'nldev_stat_get_doit' [-Wframe-larger-than]
    2402 | static int nldev_stat_get_doit(struct sk_buff *skb, struct nlmsghdr *nlh,
         |            ^
>> drivers/infiniband/core/nldev.c:2459:12: warning: stack frame size (1032) exceeds limit (1024) in 'nldev_stat_get_counter_status_doit' [-Wframe-larger-than]
    2459 | static int nldev_stat_get_counter_status_doit(struct sk_buff *skb,
         |            ^
   drivers/infiniband/core/nldev.c:1536:12: warning: stack frame size (1032) exceeds limit (1024) in 'res_get_common_dumpit' [-Wframe-larger-than]
    1536 | static int res_get_common_dumpit(struct sk_buff *skb,
         |            ^
   9 warnings generated.


vim +/nldev_stat_get_counter_status_doit +2459 drivers/infiniband/core/nldev.c

c4ffee7c9bdba7 Mark Zhang    2019-07-02  2458  
7301d0a9834c7f Aharon Landau 2021-10-08 @2459  static int nldev_stat_get_counter_status_doit(struct sk_buff *skb,
7301d0a9834c7f Aharon Landau 2021-10-08  2460  					      struct nlmsghdr *nlh,
7301d0a9834c7f Aharon Landau 2021-10-08  2461  					      struct netlink_ext_ack *extack)
7301d0a9834c7f Aharon Landau 2021-10-08  2462  {
7301d0a9834c7f Aharon Landau 2021-10-08  2463  	struct nlattr *tb[RDMA_NLDEV_ATTR_MAX], *table, *entry;
7301d0a9834c7f Aharon Landau 2021-10-08  2464  	struct rdma_hw_stats *stats;
7301d0a9834c7f Aharon Landau 2021-10-08  2465  	struct ib_device *device;
7301d0a9834c7f Aharon Landau 2021-10-08  2466  	struct sk_buff *msg;
7301d0a9834c7f Aharon Landau 2021-10-08  2467  	u32 devid, port;
7301d0a9834c7f Aharon Landau 2021-10-08  2468  	int ret, i;
7301d0a9834c7f Aharon Landau 2021-10-08  2469  
7301d0a9834c7f Aharon Landau 2021-10-08  2470  	ret = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
7301d0a9834c7f Aharon Landau 2021-10-08  2471  			  nldev_policy, extack);
7301d0a9834c7f Aharon Landau 2021-10-08  2472  	if (ret || !tb[RDMA_NLDEV_ATTR_DEV_INDEX] ||
7301d0a9834c7f Aharon Landau 2021-10-08  2473  	    !tb[RDMA_NLDEV_ATTR_PORT_INDEX])
7301d0a9834c7f Aharon Landau 2021-10-08  2474  		return -EINVAL;
7301d0a9834c7f Aharon Landau 2021-10-08  2475  
7301d0a9834c7f Aharon Landau 2021-10-08  2476  	devid = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
7301d0a9834c7f Aharon Landau 2021-10-08  2477  	device = ib_device_get_by_index(sock_net(skb->sk), devid);
7301d0a9834c7f Aharon Landau 2021-10-08  2478  	if (!device)
7301d0a9834c7f Aharon Landau 2021-10-08  2479  		return -EINVAL;
7301d0a9834c7f Aharon Landau 2021-10-08  2480  
7301d0a9834c7f Aharon Landau 2021-10-08  2481  	port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
7301d0a9834c7f Aharon Landau 2021-10-08  2482  	if (!rdma_is_port_valid(device, port)) {
7301d0a9834c7f Aharon Landau 2021-10-08  2483  		ret = -EINVAL;
7301d0a9834c7f Aharon Landau 2021-10-08  2484  		goto err;
7301d0a9834c7f Aharon Landau 2021-10-08  2485  	}
7301d0a9834c7f Aharon Landau 2021-10-08  2486  
7301d0a9834c7f Aharon Landau 2021-10-08  2487  	stats = ib_get_hw_stats_port(device, port);
7301d0a9834c7f Aharon Landau 2021-10-08  2488  	if (!stats) {
7301d0a9834c7f Aharon Landau 2021-10-08  2489  		ret = -EINVAL;
7301d0a9834c7f Aharon Landau 2021-10-08  2490  		goto err;
7301d0a9834c7f Aharon Landau 2021-10-08  2491  	}
7301d0a9834c7f Aharon Landau 2021-10-08  2492  
7301d0a9834c7f Aharon Landau 2021-10-08  2493  	msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
7301d0a9834c7f Aharon Landau 2021-10-08  2494  	if (!msg) {
7301d0a9834c7f Aharon Landau 2021-10-08  2495  		ret = -ENOMEM;
7301d0a9834c7f Aharon Landau 2021-10-08  2496  		goto err;
7301d0a9834c7f Aharon Landau 2021-10-08  2497  	}
7301d0a9834c7f Aharon Landau 2021-10-08  2498  
7301d0a9834c7f Aharon Landau 2021-10-08  2499  	nlh = nlmsg_put(
7301d0a9834c7f Aharon Landau 2021-10-08  2500  		msg, NETLINK_CB(skb).portid, nlh->nlmsg_seq,
7301d0a9834c7f Aharon Landau 2021-10-08  2501  		RDMA_NL_GET_TYPE(RDMA_NL_NLDEV, RDMA_NLDEV_CMD_STAT_GET_STATUS),
7301d0a9834c7f Aharon Landau 2021-10-08  2502  		0, 0);
7301d0a9834c7f Aharon Landau 2021-10-08  2503  
7301d0a9834c7f Aharon Landau 2021-10-08  2504  	ret = -EMSGSIZE;
67e6272d53386f Or Har-Toov   2022-11-28  2505  	if (!nlh || fill_nldev_handle(msg, device) ||
7301d0a9834c7f Aharon Landau 2021-10-08  2506  	    nla_put_u32(msg, RDMA_NLDEV_ATTR_PORT_INDEX, port))
7301d0a9834c7f Aharon Landau 2021-10-08  2507  		goto err_msg;
7301d0a9834c7f Aharon Landau 2021-10-08  2508  
7301d0a9834c7f Aharon Landau 2021-10-08  2509  	table = nla_nest_start(msg, RDMA_NLDEV_ATTR_STAT_HWCOUNTERS);
7301d0a9834c7f Aharon Landau 2021-10-08  2510  	if (!table)
7301d0a9834c7f Aharon Landau 2021-10-08  2511  		goto err_msg;
7301d0a9834c7f Aharon Landau 2021-10-08  2512  
7301d0a9834c7f Aharon Landau 2021-10-08  2513  	mutex_lock(&stats->lock);
7301d0a9834c7f Aharon Landau 2021-10-08  2514  	for (i = 0; i < stats->num_counters; i++) {
7301d0a9834c7f Aharon Landau 2021-10-08  2515  		entry = nla_nest_start(msg,
7301d0a9834c7f Aharon Landau 2021-10-08  2516  				       RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY);
7301d0a9834c7f Aharon Landau 2021-10-08  2517  		if (!entry)
7301d0a9834c7f Aharon Landau 2021-10-08  2518  			goto err_msg_table;
7301d0a9834c7f Aharon Landau 2021-10-08  2519  
7301d0a9834c7f Aharon Landau 2021-10-08  2520  		if (nla_put_string(msg,
7301d0a9834c7f Aharon Landau 2021-10-08  2521  				   RDMA_NLDEV_ATTR_STAT_HWCOUNTER_ENTRY_NAME,
7301d0a9834c7f Aharon Landau 2021-10-08  2522  				   stats->descs[i].name) ||
7301d0a9834c7f Aharon Landau 2021-10-08  2523  		    nla_put_u32(msg, RDMA_NLDEV_ATTR_STAT_HWCOUNTER_INDEX, i))
7301d0a9834c7f Aharon Landau 2021-10-08  2524  			goto err_msg_entry;
7301d0a9834c7f Aharon Landau 2021-10-08  2525  
7301d0a9834c7f Aharon Landau 2021-10-08  2526  		if ((stats->descs[i].flags & IB_STAT_FLAG_OPTIONAL) &&
7301d0a9834c7f Aharon Landau 2021-10-08  2527  		    (nla_put_u8(msg, RDMA_NLDEV_ATTR_STAT_HWCOUNTER_DYNAMIC,
7301d0a9834c7f Aharon Landau 2021-10-08  2528  				!test_bit(i, stats->is_disabled))))
7301d0a9834c7f Aharon Landau 2021-10-08  2529  			goto err_msg_entry;
7301d0a9834c7f Aharon Landau 2021-10-08  2530  
7301d0a9834c7f Aharon Landau 2021-10-08  2531  		nla_nest_end(msg, entry);
7301d0a9834c7f Aharon Landau 2021-10-08  2532  	}
7301d0a9834c7f Aharon Landau 2021-10-08  2533  	mutex_unlock(&stats->lock);
7301d0a9834c7f Aharon Landau 2021-10-08  2534  
7301d0a9834c7f Aharon Landau 2021-10-08  2535  	nla_nest_end(msg, table);
7301d0a9834c7f Aharon Landau 2021-10-08  2536  	nlmsg_end(msg, nlh);
7301d0a9834c7f Aharon Landau 2021-10-08  2537  	ib_device_put(device);
7301d0a9834c7f Aharon Landau 2021-10-08  2538  	return rdma_nl_unicast(sock_net(skb->sk), msg, NETLINK_CB(skb).portid);
7301d0a9834c7f Aharon Landau 2021-10-08  2539  
7301d0a9834c7f Aharon Landau 2021-10-08  2540  err_msg_entry:
7301d0a9834c7f Aharon Landau 2021-10-08  2541  	nla_nest_cancel(msg, entry);
7301d0a9834c7f Aharon Landau 2021-10-08  2542  err_msg_table:
7301d0a9834c7f Aharon Landau 2021-10-08  2543  	mutex_unlock(&stats->lock);
7301d0a9834c7f Aharon Landau 2021-10-08  2544  	nla_nest_cancel(msg, table);
7301d0a9834c7f Aharon Landau 2021-10-08  2545  err_msg:
7301d0a9834c7f Aharon Landau 2021-10-08  2546  	nlmsg_free(msg);
7301d0a9834c7f Aharon Landau 2021-10-08  2547  err:
7301d0a9834c7f Aharon Landau 2021-10-08  2548  	ib_device_put(device);
7301d0a9834c7f Aharon Landau 2021-10-08  2549  	return ret;
7301d0a9834c7f Aharon Landau 2021-10-08  2550  }
7301d0a9834c7f Aharon Landau 2021-10-08  2551  

:::::: The code at line 2459 was first introduced by commit
:::::: 7301d0a9834c7f1f0c91c1f0a46c7b191b1fd0da RDMA/nldev: Add support to get status of all counters

:::::: TO: Aharon Landau <aharonl@...dia.com>
:::::: CC: Jason Gunthorpe <jgg@...dia.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ