netfilter: nf_tables: disable register tracking
authorPablo Neira Ayuso <pablo@netfilter.org>
Sat, 12 Mar 2022 10:05:46 +0000 (11:05 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 12 Mar 2022 15:07:38 +0000 (16:07 +0100)
The register tracking infrastructure is incomplete, it might lead to
generating incorrect ruleset bytecode, disable it by now given we are
late in the release process.

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

index c86748b..d71a33a 100644 (file)
@@ -8260,6 +8260,12 @@ void nf_tables_trans_destroy_flush_work(void)
 }
 EXPORT_SYMBOL_GPL(nf_tables_trans_destroy_flush_work);
 
+static bool nft_expr_reduce(struct nft_regs_track *track,
+                           const struct nft_expr *expr)
+{
+       return false;
+}
+
 static int nf_tables_commit_chain_prepare(struct net *net, struct nft_chain *chain)
 {
        const struct nft_expr *expr, *last;
@@ -8307,8 +8313,7 @@ static int nf_tables_commit_chain_prepare(struct net *net, struct nft_chain *cha
                nft_rule_for_each_expr(expr, last, rule) {
                        track.cur = expr;
 
-                       if (expr->ops->reduce &&
-                           expr->ops->reduce(&track, expr)) {
+                       if (nft_expr_reduce(&track, expr)) {
                                expr = track.cur;
                                continue;
                        }