Ziyang Xuan <william.xuanziyang@xxxxxxxxxx> wrote: > nft_unregister_flowtable_type() within nf_flow_inet_module_exit() can > concurrent with __nft_flowtable_type_get() within nf_tables_newflowtable(). > And thhere is not any protection when iterate over nf_tables_flowtables > list in __nft_flowtable_type_get(). Therefore, there is pertential > data-race of nf_tables_flowtables list entry. > > Use list_for_each_entry_rcu() to iterate over nf_tables_flowtables list > in __nft_flowtable_type_get(), and use rcu_read_lock() in the caller > nft_flowtable_type_get() to protect the entire type query process. Reviewed-by: Florian Westphal <fw@xxxxxxxxx> Would you be so kind to send followup patches for the other two types Pablo pointed out? static LIST_HEAD(nf_tables_expressions); static LIST_HEAD(nf_tables_objects); It looks like they have same issue. Thanks!