Loading
netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
mainline inclusion from mainline-v6.9-rc3 commit 0d459e2ffb541841714839e8228b845458ed3b27 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9JFG3 CVE: CVE-2024-26925 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0d459e2ffb541841714839e8228b845458ed3b27 -------------------------------- The commit mutex should not be released during the critical section between nft_gc_seq_begin() and nft_gc_seq_end(), otherwise, async GC worker could collect expired objects and get the released commit lock within the same GC sequence. nf_tables_module_autoload() temporarily releases the mutex to load module dependencies, then it goes back to replay the transaction again. Move it at the end of the abort phase after nft_gc_seq_end() is called. Cc: stable@vger.kernel.org Fixes: 72034434 ("netfilter: nf_tables: GC transaction race with abort path") Reported-by:Kuan-Ting Chen <hexrabbit@devco.re> Signed-off-by:
Pablo Neira Ayuso <pablo@netfilter.org> Conflicts: net/netfilter/nf_tables_api.c Signed-off-by:
Luo Gengkun <luogengkun2@huawei.com>