All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/i2c/i2c-atr.c:265:6-9: ERROR: invalid reference to the index variable of the iterator on line 261
@ 2026-03-25  1:00 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-03-25  1:00 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: Romain Gantois <romain.gantois@bootlin.com>
CC: Wolfram Sang <wsa-dev@sang-engineering.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   bbeb83d3182abe0d245318e274e8531e5dd7a948
commit: c3f55241882bd5b4bc84dbe77d2efd0d9574ed9c i2c: Support dynamic address translation
date:   11 months ago
:::::: branch date: 65 minutes ago
:::::: commit date: 11 months ago
config: s390-randconfig-r052-20260323 (https://download.01.org/0day-ci/archive/20260325/202603250842.ALLorb9h-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project c911b8492374942bf4cfe35411e90a35d3837f6a)

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: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202603250842.ALLorb9h-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/i2c/i2c-atr.c:265:6-9: ERROR: invalid reference to the index variable of the iterator on line 261

vim +265 drivers/i2c/i2c-atr.c

c3f55241882bd5 Romain Gantois 2025-03-06  235  
c3f55241882bd5 Romain Gantois 2025-03-06  236  /* Must be called with alias_pairs_lock held */
a076a860acae77 Luca Ceresoli  2023-06-19  237  static struct i2c_atr_alias_pair *
c3f55241882bd5 Romain Gantois 2025-03-06  238  i2c_atr_find_mapping_by_addr(struct i2c_atr_chan *chan, u16 addr)
a076a860acae77 Luca Ceresoli  2023-06-19  239  {
c3f55241882bd5 Romain Gantois 2025-03-06  240  	struct i2c_atr *atr = chan->atr;
a076a860acae77 Luca Ceresoli  2023-06-19  241  	struct i2c_atr_alias_pair *c2a;
c3f55241882bd5 Romain Gantois 2025-03-06  242  	struct list_head *alias_pairs;
c3f55241882bd5 Romain Gantois 2025-03-06  243  	u16 alias;
c3f55241882bd5 Romain Gantois 2025-03-06  244  	int ret;
c3f55241882bd5 Romain Gantois 2025-03-06  245  
c3f55241882bd5 Romain Gantois 2025-03-06  246  	lockdep_assert_held(&chan->alias_pairs_lock);
a076a860acae77 Luca Ceresoli  2023-06-19  247  
c3f55241882bd5 Romain Gantois 2025-03-06  248  	alias_pairs = &chan->alias_pairs;
c3f55241882bd5 Romain Gantois 2025-03-06  249  
c3f55241882bd5 Romain Gantois 2025-03-06  250  	list_for_each_entry(c2a, alias_pairs, node) {
c3f55241882bd5 Romain Gantois 2025-03-06  251  		if (c2a->addr == addr)
a076a860acae77 Luca Ceresoli  2023-06-19  252  			return c2a;
a076a860acae77 Luca Ceresoli  2023-06-19  253  	}
a076a860acae77 Luca Ceresoli  2023-06-19  254  
c3f55241882bd5 Romain Gantois 2025-03-06  255  	ret = i2c_atr_reserve_alias(chan->alias_pool);
c3f55241882bd5 Romain Gantois 2025-03-06  256  	if (ret < 0) {
c3f55241882bd5 Romain Gantois 2025-03-06  257  		// If no free aliases are left, replace an existing one
c3f55241882bd5 Romain Gantois 2025-03-06  258  		if (unlikely(list_empty(alias_pairs)))
c3f55241882bd5 Romain Gantois 2025-03-06  259  			return NULL;
c3f55241882bd5 Romain Gantois 2025-03-06  260  
c3f55241882bd5 Romain Gantois 2025-03-06 @261  		list_for_each_entry_reverse(c2a, alias_pairs, node)
c3f55241882bd5 Romain Gantois 2025-03-06  262  			if (!c2a->fixed)
c3f55241882bd5 Romain Gantois 2025-03-06  263  				break;
c3f55241882bd5 Romain Gantois 2025-03-06  264  
c3f55241882bd5 Romain Gantois 2025-03-06 @265  		if (c2a->fixed)
c3f55241882bd5 Romain Gantois 2025-03-06  266  			return NULL;
c3f55241882bd5 Romain Gantois 2025-03-06  267  
c3f55241882bd5 Romain Gantois 2025-03-06  268  		atr->ops->detach_addr(atr, chan->chan_id, c2a->addr);
c3f55241882bd5 Romain Gantois 2025-03-06  269  		c2a->addr = addr;
c3f55241882bd5 Romain Gantois 2025-03-06  270  
c3f55241882bd5 Romain Gantois 2025-03-06  271  		// Move updated entry to beginning of list
c3f55241882bd5 Romain Gantois 2025-03-06  272  		list_move(&c2a->node, alias_pairs);
c3f55241882bd5 Romain Gantois 2025-03-06  273  
c3f55241882bd5 Romain Gantois 2025-03-06  274  		alias = c2a->alias;
c3f55241882bd5 Romain Gantois 2025-03-06  275  	} else {
c3f55241882bd5 Romain Gantois 2025-03-06  276  		alias = ret;
c3f55241882bd5 Romain Gantois 2025-03-06  277  
c3f55241882bd5 Romain Gantois 2025-03-06  278  		c2a = i2c_atr_create_c2a(chan, alias, addr);
c3f55241882bd5 Romain Gantois 2025-03-06  279  		if (!c2a)
c3f55241882bd5 Romain Gantois 2025-03-06  280  			goto err_release_alias;
c3f55241882bd5 Romain Gantois 2025-03-06  281  	}
c3f55241882bd5 Romain Gantois 2025-03-06  282  
c3f55241882bd5 Romain Gantois 2025-03-06  283  	ret = atr->ops->attach_addr(atr, chan->chan_id, c2a->addr, c2a->alias);
c3f55241882bd5 Romain Gantois 2025-03-06  284  	if (ret) {
c3f55241882bd5 Romain Gantois 2025-03-06  285  		dev_err(atr->dev, "failed to attach 0x%02x on channel %d: err %d\n",
c3f55241882bd5 Romain Gantois 2025-03-06  286  			addr, chan->chan_id, ret);
c3f55241882bd5 Romain Gantois 2025-03-06  287  		goto err_del_c2a;
c3f55241882bd5 Romain Gantois 2025-03-06  288  	}
c3f55241882bd5 Romain Gantois 2025-03-06  289  
c3f55241882bd5 Romain Gantois 2025-03-06  290  	return c2a;
c3f55241882bd5 Romain Gantois 2025-03-06  291  
c3f55241882bd5 Romain Gantois 2025-03-06  292  err_del_c2a:
c3f55241882bd5 Romain Gantois 2025-03-06  293  	i2c_atr_destroy_c2a(&c2a);
c3f55241882bd5 Romain Gantois 2025-03-06  294  err_release_alias:
c3f55241882bd5 Romain Gantois 2025-03-06  295  	i2c_atr_release_alias(chan->alias_pool, alias);
a076a860acae77 Luca Ceresoli  2023-06-19  296  	return NULL;
a076a860acae77 Luca Ceresoli  2023-06-19  297  }
a076a860acae77 Luca Ceresoli  2023-06-19  298  

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

^ permalink raw reply	[flat|nested] 2+ messages in thread
* drivers/i2c/i2c-atr.c:265:6-9: ERROR: invalid reference to the index variable of the iterator on line 261
@ 2026-06-04 19:08 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-06-04 19:08 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: Romain Gantois <romain.gantois@bootlin.com>
CC: Wolfram Sang <wsa-dev@sang-engineering.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   ba3e43a9e601636f5edb54e259a74f96ca3b8fd8
commit: c3f55241882bd5b4bc84dbe77d2efd0d9574ed9c i2c: Support dynamic address translation
date:   1 year, 2 months ago
:::::: branch date: 2 days ago
:::::: commit date: 1 year, 2 months ago
config: mips-randconfig-r063-20260604 (https://download.01.org/0day-ci/archive/20260605/202606050244.q6ApjQY8-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project e5ab4f8a1f766febdc65ce89c00dec85393cfd68)

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: c3f55241882b ("i2c: Support dynamic address translation")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202606050244.q6ApjQY8-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/i2c/i2c-atr.c:265:6-9: ERROR: invalid reference to the index variable of the iterator on line 261

vim +265 drivers/i2c/i2c-atr.c

c3f55241882bd5 Romain Gantois 2025-03-06  235  
c3f55241882bd5 Romain Gantois 2025-03-06  236  /* Must be called with alias_pairs_lock held */
a076a860acae77 Luca Ceresoli  2023-06-19  237  static struct i2c_atr_alias_pair *
c3f55241882bd5 Romain Gantois 2025-03-06  238  i2c_atr_find_mapping_by_addr(struct i2c_atr_chan *chan, u16 addr)
a076a860acae77 Luca Ceresoli  2023-06-19  239  {
c3f55241882bd5 Romain Gantois 2025-03-06  240  	struct i2c_atr *atr = chan->atr;
a076a860acae77 Luca Ceresoli  2023-06-19  241  	struct i2c_atr_alias_pair *c2a;
c3f55241882bd5 Romain Gantois 2025-03-06  242  	struct list_head *alias_pairs;
c3f55241882bd5 Romain Gantois 2025-03-06  243  	u16 alias;
c3f55241882bd5 Romain Gantois 2025-03-06  244  	int ret;
c3f55241882bd5 Romain Gantois 2025-03-06  245  
c3f55241882bd5 Romain Gantois 2025-03-06  246  	lockdep_assert_held(&chan->alias_pairs_lock);
a076a860acae77 Luca Ceresoli  2023-06-19  247  
c3f55241882bd5 Romain Gantois 2025-03-06  248  	alias_pairs = &chan->alias_pairs;
c3f55241882bd5 Romain Gantois 2025-03-06  249  
c3f55241882bd5 Romain Gantois 2025-03-06  250  	list_for_each_entry(c2a, alias_pairs, node) {
c3f55241882bd5 Romain Gantois 2025-03-06  251  		if (c2a->addr == addr)
a076a860acae77 Luca Ceresoli  2023-06-19  252  			return c2a;
a076a860acae77 Luca Ceresoli  2023-06-19  253  	}
a076a860acae77 Luca Ceresoli  2023-06-19  254  
c3f55241882bd5 Romain Gantois 2025-03-06  255  	ret = i2c_atr_reserve_alias(chan->alias_pool);
c3f55241882bd5 Romain Gantois 2025-03-06  256  	if (ret < 0) {
c3f55241882bd5 Romain Gantois 2025-03-06  257  		// If no free aliases are left, replace an existing one
c3f55241882bd5 Romain Gantois 2025-03-06  258  		if (unlikely(list_empty(alias_pairs)))
c3f55241882bd5 Romain Gantois 2025-03-06  259  			return NULL;
c3f55241882bd5 Romain Gantois 2025-03-06  260  
c3f55241882bd5 Romain Gantois 2025-03-06 @261  		list_for_each_entry_reverse(c2a, alias_pairs, node)
c3f55241882bd5 Romain Gantois 2025-03-06  262  			if (!c2a->fixed)
c3f55241882bd5 Romain Gantois 2025-03-06  263  				break;
c3f55241882bd5 Romain Gantois 2025-03-06  264  
c3f55241882bd5 Romain Gantois 2025-03-06 @265  		if (c2a->fixed)
c3f55241882bd5 Romain Gantois 2025-03-06  266  			return NULL;
c3f55241882bd5 Romain Gantois 2025-03-06  267  
c3f55241882bd5 Romain Gantois 2025-03-06  268  		atr->ops->detach_addr(atr, chan->chan_id, c2a->addr);
c3f55241882bd5 Romain Gantois 2025-03-06  269  		c2a->addr = addr;
c3f55241882bd5 Romain Gantois 2025-03-06  270  
c3f55241882bd5 Romain Gantois 2025-03-06  271  		// Move updated entry to beginning of list
c3f55241882bd5 Romain Gantois 2025-03-06  272  		list_move(&c2a->node, alias_pairs);
c3f55241882bd5 Romain Gantois 2025-03-06  273  
c3f55241882bd5 Romain Gantois 2025-03-06  274  		alias = c2a->alias;
c3f55241882bd5 Romain Gantois 2025-03-06  275  	} else {
c3f55241882bd5 Romain Gantois 2025-03-06  276  		alias = ret;
c3f55241882bd5 Romain Gantois 2025-03-06  277  
c3f55241882bd5 Romain Gantois 2025-03-06  278  		c2a = i2c_atr_create_c2a(chan, alias, addr);
c3f55241882bd5 Romain Gantois 2025-03-06  279  		if (!c2a)
c3f55241882bd5 Romain Gantois 2025-03-06  280  			goto err_release_alias;
c3f55241882bd5 Romain Gantois 2025-03-06  281  	}
c3f55241882bd5 Romain Gantois 2025-03-06  282  
c3f55241882bd5 Romain Gantois 2025-03-06  283  	ret = atr->ops->attach_addr(atr, chan->chan_id, c2a->addr, c2a->alias);
c3f55241882bd5 Romain Gantois 2025-03-06  284  	if (ret) {
c3f55241882bd5 Romain Gantois 2025-03-06  285  		dev_err(atr->dev, "failed to attach 0x%02x on channel %d: err %d\n",
c3f55241882bd5 Romain Gantois 2025-03-06  286  			addr, chan->chan_id, ret);
c3f55241882bd5 Romain Gantois 2025-03-06  287  		goto err_del_c2a;
c3f55241882bd5 Romain Gantois 2025-03-06  288  	}
c3f55241882bd5 Romain Gantois 2025-03-06  289  
c3f55241882bd5 Romain Gantois 2025-03-06  290  	return c2a;
c3f55241882bd5 Romain Gantois 2025-03-06  291  
c3f55241882bd5 Romain Gantois 2025-03-06  292  err_del_c2a:
c3f55241882bd5 Romain Gantois 2025-03-06  293  	i2c_atr_destroy_c2a(&c2a);
c3f55241882bd5 Romain Gantois 2025-03-06  294  err_release_alias:
c3f55241882bd5 Romain Gantois 2025-03-06  295  	i2c_atr_release_alias(chan->alias_pool, alias);
a076a860acae77 Luca Ceresoli  2023-06-19  296  	return NULL;
a076a860acae77 Luca Ceresoli  2023-06-19  297  }
a076a860acae77 Luca Ceresoli  2023-06-19  298  

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-06-04 19:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-25  1:00 drivers/i2c/i2c-atr.c:265:6-9: ERROR: invalid reference to the index variable of the iterator on line 261 kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2026-06-04 19:08 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.