Re: [PATCH] netfilter: nf_ct_helper: Fix possible panic when nf_conntrack_helper_unregister is used in an unloadable module

From: Sergei Shtylyov
Date: Fri Mar 01 2019 - 03:44:00 EST


Hello!

On 01.03.2019 8:56, Su Yanjun wrote:

From: Su Yanjun <suyj.fnst@xxxxxxxxxxxxxx>

Because nf_conntrack_helper_unregister maybe used in an unloadable module,
it uses 'synchronize_rcu' which may cause kernel panic.

According to the artical:

Article?

RCU and Unloadable Modules
https://lwn.net/Articles/217484/

When we have a heavy rcu callback load, then some of the callbacks might be
deferred in order to allow other processing to proceed. sychnorize_rcu does
not wait rcu callback complete and module may be unloaded before callback
done.

This patch uses rcu_barrier instead of synchronize_rcu will prevent this
^ that/which missed?

situation.

Signed-off-by: Su Yanjun <suyj.fnst@xxxxxxxxxxxxxx>
[...]

MBR, Sergei