The bitmap set does not support for expressions, skip it from the
estimation step.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  *     @size: number of set elements
  *     @field_len: length of each field in concatenation, bytes
  *     @field_count: number of concatenated fields in element
+ *     @expr: set must support for expressions
  */
 struct nft_set_desc {
        unsigned int            klen;
        unsigned int            size;
        u8                      field_len[NFT_REG32_COUNT];
        u8                      field_count;
+       bool                    expr;
 };
 
 /**
 
                        return err;
        }
 
+       if (nla[NFTA_SET_EXPR])
+               desc.expr = true;
+
        table = nft_table_lookup(net, nla[NFTA_SET_TABLE], family, genmask);
        if (IS_ERR(table)) {
                NL_SET_BAD_ATTR(extack, nla[NFTA_SET_TABLE]);
 
        /* Make sure bitmaps we don't get bitmaps larger than 16 Kbytes. */
        if (desc->klen > 2)
                return false;
+       else if (desc->expr)
+               return false;
 
        est->size   = nft_bitmap_total_size(desc->klen);
        est->lookup = NFT_SET_CLASS_O_1;