batman-adv: use GFP_KERNEL allocations for the wifi detection cache

The batadv_wifi_net_device_insert() is called with ASSERT_RTNL() held, but
not inside a spinlock or another context which prevents "might_sleep"
functions. To relax the requirements for the allocator, use GFP_KERNEL.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
Sven Eckelmann 2026-06-02 17:46:10 +02:00
parent b2e44a67ef
commit ed497f64a6
No known key found for this signature in database
GPG Key ID: 4D0F772BD314F5CB

View File

@ -983,11 +983,11 @@ batadv_wifi_net_device_insert(struct net_device *net_dev, u32 wifi_flags)
ASSERT_RTNL();
device_state = kzalloc_obj(*device_state, GFP_ATOMIC);
device_state = kzalloc_obj(*device_state, GFP_KERNEL);
if (!device_state)
return -ENOMEM;
netdev_hold(net_dev, &device_state->dev_tracker, GFP_ATOMIC);
netdev_hold(net_dev, &device_state->dev_tracker, GFP_KERNEL);
device_state->netdev = net_dev;
WRITE_ONCE(device_state->wifi_flags, wifi_flags);