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 :
quoted
On Tue, Mar 06, 2012 at 04:50:21AM -0800, Eric Dumazet wrote:
quoted
quoted
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.