Pablo Neira Ayuso <[email protected]> wrote:
> > So we only skip the flush if the table does not exist.
> >
> > Still not working though, hitting EEXIST on CHAIN_USER_ADD.
> 
> The nfnl_unlock(subsys_id); is released after check the generation ID
> in nfnetlink.
> 
> This is rendering the generation ID useless. We need a kernel fix for
> this.

-v, the subsys mutex is released, but we do hold the transaction mutex.

parallel batch that is incoming will block in
nf_tables_valid_genid() until current transaction completes, then it
will fail due to genid mismatch.

Reply via email to