Remove dev_base_lock for linux >= 6.9.0
Kernel commit 1b3ef46cb7f2618cc0b507393220a69810f6da12 removed `dev_base_lock` from v6.9 onward. Use the alternate iterator `for_each_netdev_rcu` introduced by commit c6d14c84566d6b70ad9dc1618db0dec87cca9300 in 2.6.33+.
This commit is contained in:
parent
f4e9367dde
commit
95c25b5071
|
|
@ -423,14 +423,14 @@ int __init ec_gen_init_module(void)
|
|||
INIT_LIST_HEAD(&generic_devices);
|
||||
INIT_LIST_HEAD(&descs);
|
||||
|
||||
read_lock(&dev_base_lock);
|
||||
for_each_netdev(&init_net, netdev) {
|
||||
rcu_read_lock();
|
||||
for_each_netdev_rcu(&init_net, netdev) {
|
||||
if (netdev->type != ARPHRD_ETHER)
|
||||
continue;
|
||||
desc = kmalloc(sizeof(ec_gen_interface_desc_t), GFP_ATOMIC);
|
||||
if (!desc) {
|
||||
ret = -ENOMEM;
|
||||
read_unlock(&dev_base_lock);
|
||||
rcu_read_unlock();
|
||||
goto out_err;
|
||||
}
|
||||
strncpy(desc->name, netdev->name, IFNAMSIZ);
|
||||
|
|
@ -439,7 +439,7 @@ int __init ec_gen_init_module(void)
|
|||
memcpy(desc->dev_addr, netdev->dev_addr, ETH_ALEN);
|
||||
list_add_tail(&desc->list, &descs);
|
||||
}
|
||||
read_unlock(&dev_base_lock);
|
||||
rcu_read_unlock();
|
||||
|
||||
list_for_each_entry_safe(desc, next, &descs, list) {
|
||||
ret = offer_device(desc);
|
||||
|
|
|
|||
Loading…
Reference in New Issue