netfilter: nf_tables: do not compare internal table flags on updates
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 14 Mar 2024 17:51:38 +0000 (18:51 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 20 Mar 2024 23:21:55 +0000 (00:21 +0100)
Restore skipping transaction if table update does not modify flags.

Fixes: 179d9ba5559a ("netfilter: nf_tables: fix table flag updates")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_tables_api.c

index e93f905e60b62e7b54b500be697237616b15f629..984c1c83ee38c70c708303593a2d471fdfb8a449 100644 (file)
@@ -1213,7 +1213,7 @@ static int nf_tables_updtable(struct nft_ctx *ctx)
        if (flags & ~NFT_TABLE_F_MASK)
                return -EOPNOTSUPP;
 
-       if (flags == ctx->table->flags)
+       if (flags == (ctx->table->flags & NFT_TABLE_F_MASK))
                return 0;
 
        if ((nft_table_has_owner(ctx->table) &&