Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e89df813 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

netlink: do not enter direct reclaim from netlink_trim()



In commit d35c99ff ("netlink: do not enter direct reclaim from
netlink_dump()") we made sure to not trigger expensive memory reclaim.

Problem is that a bit later, netlink_trim() might be called and
trigger memory reclaim.

netlink_trim() should be best effort, and really as fast as possible.
Under memory pressure, it is fine to not trim this skb.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3be0679b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1210,7 +1210,9 @@ static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
		skb = nskb;
	}

	if (!pskb_expand_head(skb, 0, -delta, allocation))
	if (!pskb_expand_head(skb, 0, -delta,
			      (allocation & ~__GFP_DIRECT_RECLAIM) |
			      __GFP_NOWARN | __GFP_NORETRY))
		skb->truesize -= delta;

	return skb;