mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
net/sched: act_ct: set net pointer before publishing flowtable
nf_flow_table_init() adds the flowtable to the global flowtables list. However, tcf_ct_flow_table_get() sets the table's network namespace only after that call, leaving a window where the published table has a NULL namespace pointer. Set the namespace before calling nf_flow_table_init() so that flowtable list walkers can rely on it being initialized. This is required by: "netfilter: flowtable: check namespace before iterating flows" Signed-off-by: Qingfang Deng <qingfang.deng@linux.dev> Reviewed-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
2ac41d7009
commit
d4548625f3
|
|
@ -349,10 +349,10 @@ static int tcf_ct_flow_table_get(struct net *net, struct tcf_ct_params *params)
|
|||
ct_ft->nf_ft.type = &flowtable_ct;
|
||||
ct_ft->nf_ft.flags |= NF_FLOWTABLE_HW_OFFLOAD |
|
||||
NF_FLOWTABLE_COUNTER;
|
||||
write_pnet(&ct_ft->nf_ft.net, net);
|
||||
err = nf_flow_table_init(&ct_ft->nf_ft);
|
||||
if (err)
|
||||
goto err_init;
|
||||
write_pnet(&ct_ft->nf_ft.net, net);
|
||||
|
||||
__module_get(THIS_MODULE);
|
||||
out_unlock:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user