OSDN Git Service

netlink: Allow direct reclaim for fallback allocation
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Wed, 3 May 2017 08:44:19 +0000 (09:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 May 2017 05:46:02 +0000 (07:46 +0200)
The backport of d35c99ff77ec ("netlink: do not enter direct reclaim from
netlink_dump()") to the 4.4 branch (first in 4.4.32) mistakenly removed
direct claim from the initial large allocation _and_ the fallback
allocation which means that allocations can spuriously fail.
Fix the issue by adding back the direct reclaim flag to the fallback
allocation.

Fixes: 6d123f1d396b ("netlink: do not enter direct reclaim from netlink_dump()")
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/netlink/af_netlink.c

index 8e33019..acfb16f 100644 (file)
@@ -2107,7 +2107,7 @@ static int netlink_dump(struct sock *sk)
        if (!skb) {
                alloc_size = alloc_min_size;
                skb = netlink_alloc_skb(sk, alloc_size, nlk->portid,
-                                       (GFP_KERNEL & ~__GFP_DIRECT_RECLAIM));
+                                       GFP_KERNEL);
        }
        if (!skb)
                goto errout_skb;