From: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> All ctnetlink operations are invoked inside rcu_read_lock (see net/netfilter/nfnetlink.c). Allocations have to be atomic, as RCU requires. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- net/netfilter/nf_conntrack_netlink.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c index 1068769..867843f 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c @@ -1002,7 +1002,7 @@ ctnetlink_get_conntrack(struct sock *ctnl, struct sk_buff *skb, ct = nf_ct_tuplehash_to_ctrack(h); err = -ENOMEM; - skb2 = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); + skb2 = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); if (skb2 == NULL) { nf_ct_put(ct); return -ENOMEM; @@ -1865,7 +1865,7 @@ ctnetlink_get_expect(struct sock *ctnl, struct sk_buff *skb, } err = -ENOMEM; - skb2 = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); + skb2 = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); if (skb2 == NULL) { nf_ct_expect_put(exp); goto out; -- 1.7.7.3 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html