netfilter: nft_compat: suppress comment match
authorFlorian Westphal <fw@strlen.de>
Tue, 1 Feb 2022 16:48:50 +0000 (17:48 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 4 Feb 2022 05:30:28 +0000 (06:30 +0100)
No need to have the datapath call the always-true comment match stub.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nft_compat.c

index f69cc73..5a46d82 100644 (file)
@@ -731,6 +731,14 @@ static const struct nfnetlink_subsystem nfnl_compat_subsys = {
 
 static struct nft_expr_type nft_match_type;
 
+static bool nft_match_reduce(struct nft_regs_track *track,
+                            const struct nft_expr *expr)
+{
+       const struct xt_match *match = expr->ops->data;
+
+       return strcmp(match->name, "comment") == 0;
+}
+
 static const struct nft_expr_ops *
 nft_match_select_ops(const struct nft_ctx *ctx,
                     const struct nlattr * const tb[])
@@ -773,6 +781,7 @@ nft_match_select_ops(const struct nft_ctx *ctx,
        ops->dump = nft_match_dump;
        ops->validate = nft_match_validate;
        ops->data = match;
+       ops->reduce = nft_match_reduce;
 
        matchsize = NFT_EXPR_SIZE(XT_ALIGN(match->matchsize));
        if (matchsize > NFT_MATCH_LARGE_THRESH) {