From: David Ahern <[email protected]> Date: Thu, 20 Aug 2015 08:51:40 -0700
> @@ -1670,7 +1670,7 @@ static int pfkey_register(struct sock *sk, struct > sk_buff *skb, const struct sad > return -ENOBUFS; > } > > - pfkey_broadcast(supp_skb, GFP_KERNEL, BROADCAST_REGISTERED, sk, > sock_net(sk)); > + pfkey_broadcast(supp_skb, GFP_ATOMIC, BROADCAST_REGISTERED, sk, > sock_net(sk)); As Eric alluded to, the gfp_t argument is totally pointless. It is used inside of pfkey_broadcast() via calls to pfkey_broadcast_one() inside of an RCU protected area _CREATED_ by pfkey_broadcast() itself. Therefore it could never possibly honor a sleeping gfp_t flag, and GFP_ATOMIC must always be used. So just get rid of it and use GFP_ATOMIC unconditionally. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
