> 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. Yes, I am doing and testing. Best regards. > > Thanks! > > > . >