Subject: Re: [PATCH 3/6] netfilter: ctnetlink: use GFP_ATOMIC in all allocations

From: Pablo Neira Ayuso <[email-masked]>
Date: Tue, 6 Mar 2012 16:35:13 +0100

On Tue, Mar 06, 2012 at 07:09:17AM -0800, Eric Dumazet wrote:
> Le mardi 06 mars 2012 à 15:48 +0100, Pablo Neira Ayuso a écrit :
> > On Tue, Mar 06, 2012 at 04:50:21AM -0800, Eric Dumazet wrote:
> 
> > > This cant be right.
> > > 
> > > Really this must be kept as GFP_KERNEL allocations.
> > > 
> > > Only if .call_rcu member is used in place of .call rcu_read_lock() is
> > > held instead of nfnl_lock().
> > 
> > I thought we couldn't sleep while holding rcu_read_lock.
> 
> True, but as far as I can see we dont hold rcu_read_lock() at this
> point, only a mutex.
> 
> I added the .call_rcu() mechanism in struct nfnl_callback only for very
> specific needs, namely performance improvements in commit 84a797dd0
> (netfilter: nfnetlink_queue: provide rcu enabled callbacks)

Sorry, I overlooked that changed, I still thought that we were calling
these under rcu_read_lock.

This patch has to be kept out indeed. Thanks for spotting this Eric.