netfilter: nf_tables: release batch on table validation from abort path
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 28 Mar 2024 12:27:36 +0000 (13:27 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 4 Apr 2024 09:34:41 +0000 (11:34 +0200)
commita45e6889575c2067d3c0212b6bc1022891e65b91
tree2855c6aa49ab7044326b46577a4e090f3ecd85ef
parent72076fc9fe60b9143cd971fd8737718719bc512e
netfilter: nf_tables: release batch on table validation from abort path

Unlike early commit path stage which triggers a call to abort, an
explicit release of the batch is required on abort, otherwise mutex is
released and commit_list remains in place.

Add WARN_ON_ONCE to ensure commit_list is empty from the abort path
before releasing the mutex.

After this patch, commit_list is always assumed to be empty before
grabbing the mutex, therefore

  03c1f1ef1584 ("netfilter: Cleanup nft_net->module_list from nf_tables_exit_net()")

only needs to release the pending modules for registration.

Cc: stable@vger.kernel.org
Fixes: c0391b6ab810 ("netfilter: nf_tables: missing validation from the abort path")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_tables_api.c