]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
netfilter: nf_tables: Drop dead code from fill_*_info routines
authorPhil Sutter <phil@nwl.cc>
Fri, 13 Jun 2025 13:37:02 +0000 (15:37 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 10 Jul 2025 01:01:02 +0000 (03:01 +0200)
This practically reverts commit 28339b21a365 ("netfilter: nf_tables: do
not send complete notification of deletions"): The feature was never
effective, due to prior modification of 'event' variable the conditional
early return never happened.

User space also relies upon the current behaviour, so better reintroduce
the shortened deletion notifications once it is fixed.

Fixes: 28339b21a365 ("netfilter: nf_tables: do not send complete notification of deletions")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_tables_api.c

index 24c71ecb21797fd863c1b8c7f4fdc2ab4aeb6676..e1dfa12ce2b14d92875df280322fe0fd72833295 100644 (file)
@@ -1165,11 +1165,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) {
-               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;
@@ -2028,11 +2023,6 @@ static int nf_tables_fill_chain_info(struct sk_buff *skb, struct net *net,
                         NFTA_CHAIN_PAD))
                goto nla_put_failure;
 
-       if (event == NFT_MSG_DELCHAIN && !hook_list) {
-               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;
@@ -4859,11 +4849,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) {
-               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;
@@ -8350,11 +8335,6 @@ static int nf_tables_fill_obj_info(struct sk_buff *skb, struct net *net,
                         NFTA_OBJ_PAD))
                goto nla_put_failure;
 
-       if (event == NFT_MSG_DELOBJ) {
-               nlmsg_end(skb, nlh);
-               return 0;
-       }
-
        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))
@@ -9394,11 +9374,6 @@ static int nf_tables_fill_flowtable_info(struct sk_buff *skb, struct net *net,
                         NFTA_FLOWTABLE_PAD))
                goto nla_put_failure;
 
-       if (event == NFT_MSG_DELFLOWTABLE && !hook_list) {
-               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;