All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 8112/9729] net/ethtool/netlink.c:698 ethnl_perphy_start() warn: potential spectre issue 'ethnl_default_requests' [r]
@ 2025-05-09  1:48 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-05-09  1:48 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Maxime Chevallier <maxime.chevallier@bootlin.com>
CC: Jakub Kicinski <kuba@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   f48887a98b78880b7711aca311fbbbcaad6c4e3b
commit: 172265b44cd3c90b76f2153a15abf64520d70e4a [8112/9729] net: ethtool: Introduce per-PHY DUMP operations
:::::: branch date: 17 hours ago
:::::: commit date: 3 days ago
config: i386-randconfig-141-20250508 (https://download.01.org/0day-ci/archive/20250509/202505090940.M2T3pmPS-lkp@intel.com/config)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)

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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202505090940.M2T3pmPS-lkp@intel.com/

New smatch warnings:
net/ethtool/netlink.c:698 ethnl_perphy_start() warn: potential spectre issue 'ethnl_default_requests' [r]
net/ethtool/netlink.c:699 ethnl_perphy_start() warn: possible spectre second half.  'ops'

Old smatch warnings:
net/ethtool/netlink.c:644 ethnl_default_start() warn: potential spectre issue 'ethnl_default_requests' [r]
net/ethtool/netlink.c:645 ethnl_default_start() warn: possible spectre second half.  'ops'

vim +/ethnl_default_requests +698 net/ethtool/netlink.c

728480f1244200 Michal Kubecek    2019-12-27  682  
172265b44cd3c9 Maxime Chevallier 2025-05-02  683  /* per-PHY ->start() handler for GET requests */
172265b44cd3c9 Maxime Chevallier 2025-05-02  684  static int ethnl_perphy_start(struct netlink_callback *cb)
172265b44cd3c9 Maxime Chevallier 2025-05-02  685  {
172265b44cd3c9 Maxime Chevallier 2025-05-02  686  	struct ethnl_perphy_dump_ctx *phy_ctx = ethnl_perphy_dump_context(cb);
172265b44cd3c9 Maxime Chevallier 2025-05-02  687  	const struct genl_dumpit_info *info = genl_dumpit_info(cb);
172265b44cd3c9 Maxime Chevallier 2025-05-02  688  	struct ethnl_dump_ctx *ctx = &phy_ctx->ethnl_ctx;
172265b44cd3c9 Maxime Chevallier 2025-05-02  689  	struct ethnl_reply_data *reply_data;
172265b44cd3c9 Maxime Chevallier 2025-05-02  690  	const struct ethnl_request_ops *ops;
172265b44cd3c9 Maxime Chevallier 2025-05-02  691  	struct ethnl_req_info *req_info;
172265b44cd3c9 Maxime Chevallier 2025-05-02  692  	struct genlmsghdr *ghdr;
172265b44cd3c9 Maxime Chevallier 2025-05-02  693  	int ret;
172265b44cd3c9 Maxime Chevallier 2025-05-02  694  
172265b44cd3c9 Maxime Chevallier 2025-05-02  695  	BUILD_BUG_ON(sizeof(*ctx) > sizeof(cb->ctx));
172265b44cd3c9 Maxime Chevallier 2025-05-02  696  
172265b44cd3c9 Maxime Chevallier 2025-05-02  697  	ghdr = nlmsg_data(cb->nlh);
172265b44cd3c9 Maxime Chevallier 2025-05-02 @698  	ops = ethnl_default_requests[ghdr->cmd];
172265b44cd3c9 Maxime Chevallier 2025-05-02 @699  	if (WARN_ONCE(!ops, "cmd %u has no ethnl_request_ops\n", ghdr->cmd))
172265b44cd3c9 Maxime Chevallier 2025-05-02  700  		return -EOPNOTSUPP;
172265b44cd3c9 Maxime Chevallier 2025-05-02  701  	req_info = kzalloc(ops->req_info_size, GFP_KERNEL);
172265b44cd3c9 Maxime Chevallier 2025-05-02  702  	if (!req_info)
172265b44cd3c9 Maxime Chevallier 2025-05-02  703  		return -ENOMEM;
172265b44cd3c9 Maxime Chevallier 2025-05-02  704  	reply_data = kmalloc(ops->reply_data_size, GFP_KERNEL);
172265b44cd3c9 Maxime Chevallier 2025-05-02  705  	if (!reply_data) {
172265b44cd3c9 Maxime Chevallier 2025-05-02  706  		ret = -ENOMEM;
172265b44cd3c9 Maxime Chevallier 2025-05-02  707  		goto free_req_info;
172265b44cd3c9 Maxime Chevallier 2025-05-02  708  	}
172265b44cd3c9 Maxime Chevallier 2025-05-02  709  
172265b44cd3c9 Maxime Chevallier 2025-05-02  710  	/* Unlike per-dev dump, don't ignore dev. The dump handler
172265b44cd3c9 Maxime Chevallier 2025-05-02  711  	 * will notice it and dump PHYs from given dev. We only keep track of
172265b44cd3c9 Maxime Chevallier 2025-05-02  712  	 * the dev's ifindex, .dumpit() will grab and release the netdev itself.
172265b44cd3c9 Maxime Chevallier 2025-05-02  713  	 */
172265b44cd3c9 Maxime Chevallier 2025-05-02  714  	ret = ethnl_default_parse(req_info, &info->info, ops, false);
172265b44cd3c9 Maxime Chevallier 2025-05-02  715  	if (req_info->dev) {
172265b44cd3c9 Maxime Chevallier 2025-05-02  716  		phy_ctx->ifindex = req_info->dev->ifindex;
172265b44cd3c9 Maxime Chevallier 2025-05-02  717  		netdev_put(req_info->dev, &req_info->dev_tracker);
172265b44cd3c9 Maxime Chevallier 2025-05-02  718  		req_info->dev = NULL;
172265b44cd3c9 Maxime Chevallier 2025-05-02  719  	}
172265b44cd3c9 Maxime Chevallier 2025-05-02  720  	if (ret < 0)
172265b44cd3c9 Maxime Chevallier 2025-05-02  721  		goto free_reply_data;
172265b44cd3c9 Maxime Chevallier 2025-05-02  722  
172265b44cd3c9 Maxime Chevallier 2025-05-02  723  	ctx->ops = ops;
172265b44cd3c9 Maxime Chevallier 2025-05-02  724  	ctx->req_info = req_info;
172265b44cd3c9 Maxime Chevallier 2025-05-02  725  	ctx->reply_data = reply_data;
172265b44cd3c9 Maxime Chevallier 2025-05-02  726  	ctx->pos_ifindex = 0;
172265b44cd3c9 Maxime Chevallier 2025-05-02  727  
172265b44cd3c9 Maxime Chevallier 2025-05-02  728  	return 0;
172265b44cd3c9 Maxime Chevallier 2025-05-02  729  
172265b44cd3c9 Maxime Chevallier 2025-05-02  730  free_reply_data:
172265b44cd3c9 Maxime Chevallier 2025-05-02  731  	kfree(reply_data);
172265b44cd3c9 Maxime Chevallier 2025-05-02  732  free_req_info:
172265b44cd3c9 Maxime Chevallier 2025-05-02  733  	kfree(req_info);
172265b44cd3c9 Maxime Chevallier 2025-05-02  734  
172265b44cd3c9 Maxime Chevallier 2025-05-02  735  	return ret;
172265b44cd3c9 Maxime Chevallier 2025-05-02  736  }
172265b44cd3c9 Maxime Chevallier 2025-05-02  737  

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-05-09  1:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-09  1:48 [linux-next:master 8112/9729] net/ethtool/netlink.c:698 ethnl_perphy_start() warn: potential spectre issue 'ethnl_default_requests' [r] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.