On 06/16, Jay Vosburgh wrote: > Remove the ability to disable use_carrier in bonding, and remove > all code related to the old link state check that utilizes ethtool or > ioctl to determine the link state of an interface in a bond. > > To avoid acquiring RTNL many times per second, bonding's miimon > link monitor inspects link state under RCU, but not under RTNL. However, > ethtool implementations in drivers may sleep, and therefore the ethtool or > ioctl strategy is unsuitable for use with calls into driver ethtool > functions. > > The use_carrier option was introduced in 2003, to provide > backwards compatibility for network device drivers that did not support > the then-new netif_carrier_ok/on/off system. Today, device drivers are > expected to support netif_carrier_*, and the use_carrier backwards > compatibility logic is no longer necessary. > > Bonding now always behaves as if use_carrier=1, which relies on > netif_carrier_ok() to determine the link state of interfaces. This has > been the default setting for use_carrier since its introduction. For > backwards compatibility, the option itself remains, but may only be set to > 1, and queries will always return 1. > > Reported-by: syzbot+b8c48ea38ca27d150063@xxxxxxxxxxxxxxxxxxxxxxxxx > Closes: https://syzkaller.appspot.com/bug?extid=b8c48ea38ca27d150063 > Link: https://lore.kernel.org/lkml/000000000000eb54bf061cfd666a@xxxxxxxxxx/ > Link: https://lore.kernel.org/netdev/20240718122017.d2e33aaac43a.I10ab9c9ded97163aef4e4de10985cd8f7de60d28@changeid/ > Link: http://lore.kernel.org/netdev/aEt6LvBMwUMxmUyx@mini-arch > Signed-off-by: Jay Vosburgh <jv@xxxxxxxxxxxxx> Hey Jay, are you planning to send a v2 for this? The syzkaller is still complaining :-( https://lore.kernel.org/netdev/688e282f.050a0220.81582.0000.GAE@xxxxxxxxxx/