0 day kernel build service
 help / color / mirror / Atom feed
* drivers/net/bonding/bond_procfs.c:160:6-41: opportunity for str_on_off(READ_ONCE ( bond -> params . lacp_active ))
@ 2026-08-28 20:57 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-28 20:57 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Julia Lawall

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Eric Dumazet <edumazet@google.com>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Simon Horman <horms@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   1b78070aaef63512688aebfbc82365ef9d6660f1
commit: 4dc5a40b3bc90815efac0558d82f80ca597957dd bonding: annotate data-races in sysfs and procfs
date:   3 months ago
:::::: branch date: 24 hours ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-104 (https://download.01.org/0day-ci/archive/20260829/202608290438.dGixHlc1-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0

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
| Fixes: 4dc5a40b3bc9 ("bonding: annotate data-races in sysfs and procfs")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202608290438.dGixHlc1-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
   drivers/net/bonding/bond_procfs.c:103:37-64: opportunity for str_up_down(netif_carrier_ok ( bond -> dev ))
>> drivers/net/bonding/bond_procfs.c:160:6-41: opportunity for str_on_off(READ_ONCE ( bond -> params . lacp_active ))

vim +160 drivers/net/bonding/bond_procfs.c

bd33acc3cc52597 Amerigo Wang        2011-03-06   58  
bd33acc3cc52597 Amerigo Wang        2011-03-06   59  static void bond_info_show_master(struct seq_file *seq)
bd33acc3cc52597 Amerigo Wang        2011-03-06   60  {
359745d78351c6f Muchun Song         2022-01-21   61  	struct bonding *bond = pde_data(file_inode(seq->file));
28f084cca35a736 stephen hemminger   2014-03-06   62  	const struct bond_opt_value *optval;
059b47e8aaf9972 Nikolay Aleksandrov 2014-09-09   63  	struct slave *curr, *primary;
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   64  	int arp_interval, fail_over_mac, miimon, i;
bd33acc3cc52597 Amerigo Wang        2011-03-06   65  
4335d60e5e27149 dingtianhong        2014-02-21   66  	curr = rcu_dereference(bond->curr_active_slave);
bd33acc3cc52597 Amerigo Wang        2011-03-06   67  
bd33acc3cc52597 Amerigo Wang        2011-03-06   68  	seq_printf(seq, "Bonding Mode: %s",
01844098ecd9564 Veaceslav Falico    2014-05-15   69  		   bond_mode_name(BOND_MODE(bond)));
bd33acc3cc52597 Amerigo Wang        2011-03-06   70  
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   71  	fail_over_mac = READ_ONCE(bond->params.fail_over_mac);
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   72  	if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP && fail_over_mac) {
1df6b6aa334c99b Nikolay Aleksandrov 2014-01-22   73  		optval = bond_opt_get_val(BOND_OPT_FAIL_OVER_MAC,
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   74  					  fail_over_mac);
1df6b6aa334c99b Nikolay Aleksandrov 2014-01-22   75  		seq_printf(seq, " (fail_over_mac %s)", optval->string);
1df6b6aa334c99b Nikolay Aleksandrov 2014-01-22   76  	}
bd33acc3cc52597 Amerigo Wang        2011-03-06   77  
bd33acc3cc52597 Amerigo Wang        2011-03-06   78  	seq_printf(seq, "\n");
bd33acc3cc52597 Amerigo Wang        2011-03-06   79  
d7021325a2ea5aa Mahesh Bandewar     2014-10-04   80  	if (bond_mode_uses_xmit_hash(bond)) {
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   81  		int xmit_policy = READ_ONCE(bond->params.xmit_policy);
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   82  
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   83  		optval = bond_opt_get_val(BOND_OPT_XMIT_HASH, xmit_policy);
a4b32ce7f891d50 Nikolay Aleksandrov 2014-01-22   84  		seq_printf(seq, "Transmit Hash Policy: %s (%d)\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   85  			   optval->string, xmit_policy);
bd33acc3cc52597 Amerigo Wang        2011-03-06   86  	}
bd33acc3cc52597 Amerigo Wang        2011-03-06   87  
ec0865a94991d18 Veaceslav Falico    2014-05-15   88  	if (bond_uses_primary(bond)) {
059b47e8aaf9972 Nikolay Aleksandrov 2014-09-09   89  		primary = rcu_dereference(bond->primary_slave);
bd33acc3cc52597 Amerigo Wang        2011-03-06   90  		seq_printf(seq, "Primary Slave: %s",
059b47e8aaf9972 Nikolay Aleksandrov 2014-09-09   91  			   primary ? primary->dev->name : "None");
059b47e8aaf9972 Nikolay Aleksandrov 2014-09-09   92  		if (primary) {
388d3a6d4aa356b Nikolay Aleksandrov 2014-01-22   93  			optval = bond_opt_get_val(BOND_OPT_PRIMARY_RESELECT,
4dc5a40b3bc9081 Eric Dumazet        2026-06-02   94  					READ_ONCE(bond->params.primary_reselect));
bd33acc3cc52597 Amerigo Wang        2011-03-06   95  			seq_printf(seq, " (primary_reselect %s)",
388d3a6d4aa356b Nikolay Aleksandrov 2014-01-22   96  				   optval->string);
388d3a6d4aa356b Nikolay Aleksandrov 2014-01-22   97  		}
bd33acc3cc52597 Amerigo Wang        2011-03-06   98  
bd33acc3cc52597 Amerigo Wang        2011-03-06   99  		seq_printf(seq, "\nCurrently Active Slave: %s\n",
bd33acc3cc52597 Amerigo Wang        2011-03-06  100  			   (curr) ? curr->dev->name : "None");
bd33acc3cc52597 Amerigo Wang        2011-03-06  101  	}
bd33acc3cc52597 Amerigo Wang        2011-03-06  102  
bd33acc3cc52597 Amerigo Wang        2011-03-06  103  	seq_printf(seq, "MII Status: %s\n", netif_carrier_ok(bond->dev) ?
bd33acc3cc52597 Amerigo Wang        2011-03-06  104  		   "up" : "down");
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  105  	miimon = READ_ONCE(bond->params.miimon);
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  106  	seq_printf(seq, "MII Polling Interval (ms): %d\n", miimon);
bd33acc3cc52597 Amerigo Wang        2011-03-06  107  	seq_printf(seq, "Up Delay (ms): %d\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  108  		   READ_ONCE(bond->params.updelay) * miimon);
bd33acc3cc52597 Amerigo Wang        2011-03-06  109  	seq_printf(seq, "Down Delay (ms): %d\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  110  		   READ_ONCE(bond->params.downdelay) * miimon);
07a4ddec3ce9b0a Vincent Bernat      2019-07-02  111  	seq_printf(seq, "Peer Notification Delay (ms): %d\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  112  		   READ_ONCE(bond->params.peer_notif_delay) * miimon);
bd33acc3cc52597 Amerigo Wang        2011-03-06  113  
bd33acc3cc52597 Amerigo Wang        2011-03-06  114  
bd33acc3cc52597 Amerigo Wang        2011-03-06  115  	/* ARP information */
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  116  	arp_interval = READ_ONCE(bond->params.arp_interval);
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  117  	if (arp_interval > 0) {
bd33acc3cc52597 Amerigo Wang        2011-03-06  118  		int printed = 0;
86a5ad0a4608c96 Yufeng Mo           2021-05-20  119  
bd33acc3cc52597 Amerigo Wang        2011-03-06  120  		seq_printf(seq, "ARP Polling Interval (ms): %d\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  121  				arp_interval);
5944b5abd8646e8 Hangbin Liu         2021-11-30  122  		seq_printf(seq, "ARP Missed Max: %u\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  123  				READ_ONCE(bond->params.missed_max));
bd33acc3cc52597 Amerigo Wang        2011-03-06  124  
bd33acc3cc52597 Amerigo Wang        2011-03-06  125  		seq_printf(seq, "ARP IP target/s (n.n.n.n form):");
bd33acc3cc52597 Amerigo Wang        2011-03-06  126  
bd33acc3cc52597 Amerigo Wang        2011-03-06  127  		for (i = 0; (i < BOND_MAX_ARP_TARGETS); i++) {
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  128  			__be32 t = READ_ONCE(bond->params.arp_targets[i]);
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  129  
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  130  			if (!t)
bd33acc3cc52597 Amerigo Wang        2011-03-06  131  				break;
bd33acc3cc52597 Amerigo Wang        2011-03-06  132  			if (printed)
bd33acc3cc52597 Amerigo Wang        2011-03-06  133  				seq_printf(seq, ",");
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  134  			seq_printf(seq, " %pI4", &t);
bd33acc3cc52597 Amerigo Wang        2011-03-06  135  			printed = 1;
bd33acc3cc52597 Amerigo Wang        2011-03-06  136  		}
bd33acc3cc52597 Amerigo Wang        2011-03-06  137  		seq_printf(seq, "\n");
4a1f14df55d1e9e Hangbin Liu         2022-05-30  138  
4a1f14df55d1e9e Hangbin Liu         2022-05-30  139  #if IS_ENABLED(CONFIG_IPV6)
4a1f14df55d1e9e Hangbin Liu         2022-05-30  140  		printed = 0;
4a1f14df55d1e9e Hangbin Liu         2022-05-30  141  		seq_printf(seq, "NS IPv6 target/s (xx::xx form):");
4a1f14df55d1e9e Hangbin Liu         2022-05-30  142  
4a1f14df55d1e9e Hangbin Liu         2022-05-30  143  		for (i = 0; (i < BOND_MAX_NS_TARGETS); i++) {
4a1f14df55d1e9e Hangbin Liu         2022-05-30  144  			if (ipv6_addr_any(&bond->params.ns_targets[i]))
4a1f14df55d1e9e Hangbin Liu         2022-05-30  145  				break;
4a1f14df55d1e9e Hangbin Liu         2022-05-30  146  			if (printed)
4a1f14df55d1e9e Hangbin Liu         2022-05-30  147  				seq_printf(seq, ",");
4a1f14df55d1e9e Hangbin Liu         2022-05-30  148  			seq_printf(seq, " %pI6c", &bond->params.ns_targets[i]);
4a1f14df55d1e9e Hangbin Liu         2022-05-30  149  			printed = 1;
4a1f14df55d1e9e Hangbin Liu         2022-05-30  150  		}
4a1f14df55d1e9e Hangbin Liu         2022-05-30  151  		seq_printf(seq, "\n");
4a1f14df55d1e9e Hangbin Liu         2022-05-30  152  #endif
bd33acc3cc52597 Amerigo Wang        2011-03-06  153  	}
bd33acc3cc52597 Amerigo Wang        2011-03-06  154  
01844098ecd9564 Veaceslav Falico    2014-05-15  155  	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
bd33acc3cc52597 Amerigo Wang        2011-03-06  156  		struct ad_info ad_info;
bd33acc3cc52597 Amerigo Wang        2011-03-06  157  
bd33acc3cc52597 Amerigo Wang        2011-03-06  158  		seq_puts(seq, "\n802.3ad info\n");
3a755cd8b7c601f Hangbin Liu         2021-08-02  159  		seq_printf(seq, "LACP active: %s\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02 @160  			   READ_ONCE(bond->params.lacp_active) ? "on" : "off");
bd33acc3cc52597 Amerigo Wang        2011-03-06  161  		seq_printf(seq, "LACP rate: %s\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  162  			   READ_ONCE(bond->params.lacp_fast) ? "fast" : "slow");
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  163  		seq_printf(seq, "Min links: %d\n",
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  164  			   READ_ONCE(bond->params.min_links));
9e5f5eebe765b34 Nikolay Aleksandrov 2014-01-22  165  		optval = bond_opt_get_val(BOND_OPT_AD_SELECT,
4dc5a40b3bc9081 Eric Dumazet        2026-06-02  166  					  READ_ONCE(bond->params.ad_select));
bd33acc3cc52597 Amerigo Wang        2011-03-06  167  		seq_printf(seq, "Aggregator selection policy (ad_select): %s\n",
9e5f5eebe765b34 Nikolay Aleksandrov 2014-01-22  168  			   optval->string);
4cd6b4754492c08 Mahesh Bandewar     2015-06-18  169  		if (capable(CAP_NET_ADMIN)) {
6791e4661c4bd3e Mahesh Bandewar     2015-05-09  170  			seq_printf(seq, "System priority: %d\n",
6791e4661c4bd3e Mahesh Bandewar     2015-05-09  171  				   BOND_AD_INFO(bond).system.sys_priority);
74514957552edd4 Mahesh Bandewar     2015-05-09  172  			seq_printf(seq, "System MAC address: %pM\n",
74514957552edd4 Mahesh Bandewar     2015-05-09  173  				   &BOND_AD_INFO(bond).system.sys_mac_addr);
bd33acc3cc52597 Amerigo Wang        2011-03-06  174  
318debd897735fe Nikolay Aleksandrov 2013-05-18  175  			if (__bond_3ad_get_active_agg_info(bond, &ad_info)) {
4cd6b4754492c08 Mahesh Bandewar     2015-06-18  176  				seq_printf(seq,
4cd6b4754492c08 Mahesh Bandewar     2015-06-18  177  					   "bond %s has no active aggregator\n",
bd33acc3cc52597 Amerigo Wang        2011-03-06  178  					   bond->dev->name);
bd33acc3cc52597 Amerigo Wang        2011-03-06  179  			} else {
bd33acc3cc52597 Amerigo Wang        2011-03-06  180  				seq_printf(seq, "Active Aggregator Info:\n");
bd33acc3cc52597 Amerigo Wang        2011-03-06  181  
bd33acc3cc52597 Amerigo Wang        2011-03-06  182  				seq_printf(seq, "\tAggregator ID: %d\n",
bd33acc3cc52597 Amerigo Wang        2011-03-06  183  					   ad_info.aggregator_id);
bd33acc3cc52597 Amerigo Wang        2011-03-06  184  				seq_printf(seq, "\tNumber of ports: %d\n",
bd33acc3cc52597 Amerigo Wang        2011-03-06  185  					   ad_info.ports);
bd33acc3cc52597 Amerigo Wang        2011-03-06  186  				seq_printf(seq, "\tActor Key: %d\n",
bd33acc3cc52597 Amerigo Wang        2011-03-06  187  					   ad_info.actor_key);
bd33acc3cc52597 Amerigo Wang        2011-03-06  188  				seq_printf(seq, "\tPartner Key: %d\n",
bd33acc3cc52597 Amerigo Wang        2011-03-06  189  					   ad_info.partner_key);
bd33acc3cc52597 Amerigo Wang        2011-03-06  190  				seq_printf(seq, "\tPartner Mac Address: %pM\n",
bd33acc3cc52597 Amerigo Wang        2011-03-06  191  					   ad_info.partner_system);
bd33acc3cc52597 Amerigo Wang        2011-03-06  192  			}
bd33acc3cc52597 Amerigo Wang        2011-03-06  193  		}
bd33acc3cc52597 Amerigo Wang        2011-03-06  194  	}
4cd6b4754492c08 Mahesh Bandewar     2015-06-18  195  }
bd33acc3cc52597 Amerigo Wang        2011-03-06  196  

--
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:[~2026-08-28 20:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-28 20:57 drivers/net/bonding/bond_procfs.c:160:6-41: opportunity for str_on_off(READ_ONCE ( bond -> params . lacp_active )) kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox