[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200308.214837.642980003705609359.davem@davemloft.net>
Date: Sun, 08 Mar 2020 21:48:37 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: edumazet@...gle.com
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com, paulb@...lanox.com,
jiri@...lanox.com, syzkaller@...glegroups.com
Subject: Re: [PATCH net-next] net/sched: act_ct: fix lockdep splat in
tcf_ct_flow_table_get
From: Eric Dumazet <edumazet@...gle.com>
Date: Sun, 8 Mar 2020 14:27:48 -0700
> Convert zones_lock spinlock to zones_mutex mutex,
> and struct (tcf_ct_flow_table)->ref to a refcount,
> so that control path can use regular GFP_KERNEL allocations
> from standard process context. This is more robust
> in case of memory pressure.
>
> The refcount is needed because tcf_ct_flow_table_put() can
> be called from RCU callback, thus in BH context.
>
> The issue was spotted by syzbot, as rhashtable_init()
> was called with a spinlock held, which is bad since GFP_KERNEL
> allocations can sleep.
>
> Note to developers : Please make sure your patches are tested
> with CONFIG_DEBUG_ATOMIC_SLEEP=y
...
> Fixes: c34b961a2492 ("net/sched: act_ct: Create nf flow table per zone")
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
> Cc: Paul Blakey <paulb@...lanox.com>
> Cc: Jiri Pirko <jiri@...lanox.com>
> Reported-by: syzbot <syzkaller@...glegroups.com>
Applied, thanks.
Powered by blists - more mailing lists