Sparse says that you... On Fri, 8 Jan 2021 18:31:58 +0200 Vladimir Oltean wrote: > + rcu_read_lock(); > + > + bond_for_each_slave_rcu(bond, slave, iter) { > + struct bonding_slave_dev *s; > + > + s = kzalloc(sizeof(*s), GFP_ATOMIC); > + if (!s) { > + rcu_read_unlock();
..unlock.. > + bond_put_slaves(slaves); > + break; > + } > + > + s->ndev = slave->dev; > + dev_hold(s->ndev); > + list_add_tail(&s->list, slaves); > + (*num_slaves)++; > + } > + > + rcu_read_unlock(); ..twice: drivers/net/bonding/bond_main.c: note: in included file (...): include/linux/rcupdate.h:700:9: warning: context imbalance in 'bond_get_stats' - unexpected unlock