]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "netfilter: nf_tables: Reintroduce shortened deletion notifications"
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 17 Nov 2025 21:28:58 +0000 (21:28 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Nov 2025 09:35:57 +0000 (10:35 +0100)
This is a partial revert of commit dbe85d3115c7e6b5124c8b028f4f602856ea51dd.

This update breaks old nftables userspace because monitor parser cannot
handle this shortened deletion, this patch was added as a Stable-dep:,
let's revert it.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/nf_tables_api.c

index 3028d388b29333b49f44ce6d21027cc7e141ba9b..2f3684dcbef8c646da995a9488e0a197401dccbd 100644 (file)
@@ -1032,12 +1032,6 @@ static int nf_tables_fill_table_info(struct sk_buff *skb, struct net *net,
                         NFTA_TABLE_PAD))
                goto nla_put_failure;
 
-       if (event == NFT_MSG_DELTABLE ||
-           event == NFT_MSG_DESTROYTABLE) {
-               nlmsg_end(skb, nlh);
-               return 0;
-       }
-
        if (nla_put_be32(skb, NFTA_TABLE_FLAGS,
                         htonl(table->flags & NFT_TABLE_F_MASK)))
                goto nla_put_failure;
@@ -1893,13 +1887,6 @@ static int nf_tables_fill_chain_info(struct sk_buff *skb, struct net *net,
                         NFTA_CHAIN_PAD))
                goto nla_put_failure;
 
-       if (!hook_list &&
-           (event == NFT_MSG_DELCHAIN ||
-            event == NFT_MSG_DESTROYCHAIN)) {
-               nlmsg_end(skb, nlh);
-               return 0;
-       }
-
        if (nft_is_base_chain(chain)) {
                const struct nft_base_chain *basechain = nft_base_chain(chain);
                struct nft_stats __percpu *stats;
@@ -4685,12 +4672,6 @@ static int nf_tables_fill_set(struct sk_buff *skb, const struct nft_ctx *ctx,
                         NFTA_SET_PAD))
                goto nla_put_failure;
 
-       if (event == NFT_MSG_DELSET ||
-           event == NFT_MSG_DESTROYSET) {
-               nlmsg_end(skb, nlh);
-               return 0;
-       }
-
        if (set->flags != 0)
                if (nla_put_be32(skb, NFTA_SET_FLAGS, htonl(set->flags)))
                        goto nla_put_failure;
@@ -8021,18 +8002,12 @@ static int nf_tables_fill_obj_info(struct sk_buff *skb, struct net *net,
 
        if (nla_put_string(skb, NFTA_OBJ_TABLE, table->name) ||
            nla_put_string(skb, NFTA_OBJ_NAME, obj->key.name) ||
-           nla_put_be32(skb, NFTA_OBJ_TYPE, htonl(obj->ops->type->type)) ||
            nla_put_be64(skb, NFTA_OBJ_HANDLE, cpu_to_be64(obj->handle),
                         NFTA_OBJ_PAD))
                goto nla_put_failure;
 
-       if (event == NFT_MSG_DELOBJ ||
-           event == NFT_MSG_DESTROYOBJ) {
-               nlmsg_end(skb, nlh);
-               return 0;
-       }
-
-       if (nla_put_be32(skb, NFTA_OBJ_USE, htonl(obj->use)) ||
+       if (nla_put_be32(skb, NFTA_OBJ_TYPE, htonl(obj->ops->type->type)) ||
+           nla_put_be32(skb, NFTA_OBJ_USE, htonl(obj->use)) ||
            nft_object_dump(skb, NFTA_OBJ_DATA, obj, reset))
                goto nla_put_failure;
 
@@ -9048,13 +9023,6 @@ static int nf_tables_fill_flowtable_info(struct sk_buff *skb, struct net *net,
                         NFTA_FLOWTABLE_PAD))
                goto nla_put_failure;
 
-       if (!hook_list &&
-           (event == NFT_MSG_DELFLOWTABLE ||
-            event == NFT_MSG_DESTROYFLOWTABLE)) {
-               nlmsg_end(skb, nlh);
-               return 0;
-       }
-
        if (nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
            nla_put_be32(skb, NFTA_FLOWTABLE_FLAGS, htonl(flowtable->data.flags)))
                goto nla_put_failure;