summaryrefslogtreecommitdiff
path: root/tools/lib/python/kdoc/python_version.py
diff options
context:
space:
mode:
authorAohan Mei <henrymei@tencent.com>2026-09-10 16:33:26 +0800
committerPablo Neira Ayuso <pablo@netfilter.org>2026-09-30 09:35:20 +0200
commit747928b5d4ff8c8de55138a54c13980e4bb88578 (patch)
tree98a13dc721b9a4572362b2d84cac4a5763b6f5fb /tools/lib/python/kdoc/python_version.py
parenta442c8a89fb9c531f9d6ab86120c31decd778d51 (diff)
downloadlinux-next-747928b5d4ff8c8de55138a54c13980e4bb88578.tar.gz
linux-next-747928b5d4ff8c8de55138a54c13980e4bb88578.zip
netfilter: nft_flow_offload: drop flowtable reference on init error path
nft_flow_offload_init() bumps the flowtable use count with nft_use_inc() before calling nf_ct_netns_get(). When the latter fails, the error is returned as-is and the reference is leaked. The upper layers do not balance it either: nf_tables_newexpr() clears expr->ops when the expression init callback fails, so the nft_expr_more() iteration in nft_rule_expr_deactivate() and nf_tables_rule_destroy() stops right before the failed expression and its ->destroy callback, which would drop the reference, never runs. Each failed rule addition therefore leaks one flowtable reference and the flowtable can no longer be removed: NFT_MSG_DELFLOWTABLE keeps reporting -EBUSY even though no rule references it. Save the nf_ct_netns_get() return value and undo the nft_use_inc() when it fails, restoring the inc/dec pairing within nft_flow_offload_init() itself. Fixes: a3c90f7a2323 ("netfilter: nf_tables: flow offload expression") Reported-by: TencentOS Corvus AI <corvus@tencent.com> Cc: stable@vger.kernel.org Assisted-by: CodeBuddy:Kimi-K3 Signed-off-by: Aohan Mei <henrymei@tencent.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions