mac80211: Use GFP_KERNEL instead of GFP_ATOMIC when possible
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 20 Feb 2022 08:23:15 +0000 (09:23 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 11 Mar 2022 10:42:49 +0000 (11:42 +0100)
Previous memory allocations in this function already use GFP_KERNEL, so
use __dev_alloc_skb() and an explicit GFP_KERNEL instead of an implicit
GFP_ATOMIC.

This gives more opportunities of successful allocation.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/194a0e2ff00c3fae88cc9fba47431747360c8242.1645345378.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mesh.c

index 1d3b4ad..5275f4f 100644 (file)
@@ -853,7 +853,7 @@ ieee80211_mesh_build_beacon(struct ieee80211_if_mesh *ifmsh)
 
        bcn = kzalloc(sizeof(*bcn) + head_len + tail_len, GFP_KERNEL);
        /* need an skb for IE builders to operate on */
-       skb = dev_alloc_skb(max(head_len, tail_len));
+       skb = __dev_alloc_skb(max(head_len, tail_len), GFP_KERNEL);
 
        if (!bcn || !skb)
                goto out_free;