|
@@ -36,7 +36,7 @@ static void *nft_dynset_new(struct nft_set *set, const struct nft_expr *expr,
|
|
u64 timeout;
|
|
u64 timeout;
|
|
void *elem;
|
|
void *elem;
|
|
|
|
|
|
- if (set->size && !atomic_add_unless(&set->nelems, 1, set->size))
|
|
|
|
|
|
+ if (!atomic_add_unless(&set->nelems, 1, set->size))
|
|
return NULL;
|
|
return NULL;
|
|
|
|
|
|
timeout = priv->timeout ? : set->timeout;
|
|
timeout = priv->timeout ? : set->timeout;
|
|
@@ -216,6 +216,9 @@ static int nft_dynset_init(const struct nft_ctx *ctx,
|
|
if (err < 0)
|
|
if (err < 0)
|
|
goto err1;
|
|
goto err1;
|
|
|
|
|
|
|
|
+ if (set->size == 0)
|
|
|
|
+ set->size = 0xffff;
|
|
|
|
+
|
|
priv->set = set;
|
|
priv->set = set;
|
|
return 0;
|
|
return 0;
|
|
|
|
|