Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f86dab3a authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso
Browse files

netfilter: nft_hash: get random bytes if seed is not specified



If the user doesn't specify a seed, generate one at configuration time.

Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 08733a0c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ static int nft_hash_init(const struct nft_ctx *ctx,
	if (!tb[NFTA_HASH_SREG] ||
	    !tb[NFTA_HASH_DREG] ||
	    !tb[NFTA_HASH_LEN]  ||
	    !tb[NFTA_HASH_SEED] ||
	    !tb[NFTA_HASH_MODULUS])
		return -EINVAL;

@@ -80,7 +79,10 @@ static int nft_hash_init(const struct nft_ctx *ctx,
	if (priv->offset + priv->modulus - 1 < priv->offset)
		return -EOVERFLOW;

	if (tb[NFTA_HASH_SEED])
		priv->seed = ntohl(nla_get_be32(tb[NFTA_HASH_SEED]));
	else
		get_random_bytes(&priv->seed, sizeof(priv->seed));

	return nft_validate_register_load(priv->sreg, len) &&
	       nft_validate_register_store(ctx, priv->dreg, NULL,