On Thu, Apr 04, 2024 at 12:43:33PM +0200, Pablo Neira Ayuso wrote: > From: Ziyang Xuan <william.xuanziyang@xxxxxxxxxx> > > 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. Applied to nf, thanks