Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp950967ybz; Wed, 15 Apr 2020 23:16:13 -0700 (PDT) X-Google-Smtp-Source: APiQypJ40rYLWkBM1v/qzMZ3RDiZZaVG/aINKKrBCimEnHcmpFY3/nFocpdsDE7xAGRcAaL3nTxL X-Received: by 2002:aa7:db47:: with SMTP id n7mr443998edt.195.1587017773121; Wed, 15 Apr 2020 23:16:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587017773; cv=none; d=google.com; s=arc-20160816; b=anRN7Hhgdw4E9kZlhevPZp7InYvt3nQmuVfBu/6FG4T3PSY2zgsfiIBmHWu7qS/rYS S++fZzvwqFVs0b+qJ/ia1oaurnrpiD7qlyhafNKBE/K0wQw7KoCI5niqRdDoabuRVuCL BWWKpLZ20ZAOGw0y0sfguyFw+urU2voewaEO9nAhm9lMXWBcnf/8nrDHlJhtpo5ugrY3 JTmb3VxJ9v0hDV6v5eFl+XaiNdeWupIs/tI0byje3NfOuoAqhfzXYN5mggTIEnwYuKQ6 5DhAJ66BajE+VIi382CyiF0C8oZtA/nKjNC/D3X/6PtLf987bY5l7jseI0D+Jhy2wcCm H1GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=TuymHEhj8KavHnkIZyFg46JEyZCRTw+A6UH0iUIorDY=; b=nGfgv4LbicchQkqxSYH/vpPLOg0xx3daXJh7qn5+eqXJlYQBm7h57MHzsW/gkvNxJ1 jGiuLzPxFaodSf2xSEv9VtGweaOHbkQxnQPx10U/1VPtftgy8nIzmkIG0Mzg3P0/uvWZ GKFvDpGUm6ERIlsMTWYuSrbvvY8jBwYRONhTIdEpWcZN3ScuFgGWkcrUj2Y0UQX1Z0m/ SBF1tuaa16eTDbnpDJVQbD7Qo2Tg45+CwXXZR7s9I6PtDRc7G6SIP1fxFH1eCAbz3fEh RPxFjSEzoKwwpY+4XuJyCVpvW/CacY1cGfiD8VmLWeiHoaDDXq5hSagBBNz3FKMhrXNf 5GkA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b12si12675675edy.329.2020.04.15.23.15.47; Wed, 15 Apr 2020 23:16:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2407520AbgDPGPl (ORCPT + 99 others); Thu, 16 Apr 2020 02:15:41 -0400 Received: from helcar.hmeau.com ([216.24.177.18]:41216 "EHLO fornost.hmeau.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2407264AbgDPGPi (ORCPT ); Thu, 16 Apr 2020 02:15:38 -0400 Received: from gwarestrin.me.apana.org.au ([192.168.0.7] helo=gwarestrin.arnor.me.apana.org.au) by fornost.hmeau.com with smtp (Exim 4.89 #2 (Debian)) id 1jOxo9-0004bg-UH; Thu, 16 Apr 2020 16:15:31 +1000 Received: by gwarestrin.arnor.me.apana.org.au (sSMTP sendmail emulation); Thu, 16 Apr 2020 16:15:29 +1000 Date: Thu, 16 Apr 2020 16:15:29 +1000 From: Herbert Xu To: Stephan =?iso-8859-1?Q?M=FCller?= Cc: linux-crypto@vger.kernel.org Subject: Re: [PATCH 1/2] crypto: Jitter RNG SP800-90B compliance Message-ID: <20200416061529.GB19267@gondor.apana.org.au> References: <16276478.9hrKPGv45q@positron.chronox.de> <4128830.EzT7ouGoCQ@positron.chronox.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4128830.EzT7ouGoCQ@positron.chronox.de> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Sat, Apr 11, 2020 at 09:35:03PM +0200, Stephan M?ller wrote: > > @@ -142,7 +143,47 @@ static int jent_kcapi_random(struct crypto_rng *tfm, > int ret = 0; > > spin_lock(&rng->jent_lock); > + > + /* Return a permanent error in case we had too many resets in a row. */ > + if (rng->reset_cnt > (1<<10)) { > + ret = -EFAULT; > + goto out; > + } > + > ret = jent_read_entropy(rng->entropy_collector, rdata, dlen); > + > + /* Reset RNG in case of health failures */ > + if (ret < -1) { > + pr_warn_ratelimited("Reset Jitter RNG due to health test failure: %s failure\n", > + (ret == -2) ? "Repetition Count Test" : > + "Adaptive Proportion Test"); > + > + rng->reset_cnt++; > + > + ret = jent_entropy_init(); > + if (ret) { > + pr_warn_ratelimited("Jitter RNG self-tests failed: %d\n", > + ret); > + ret = -EFAULT; > + goto out; > + } > + jent_entropy_collector_free(rng->entropy_collector); > + rng->entropy_collector = jent_entropy_collector_alloc(1, 0); You can't do a GFP_KERNEL allocation inside spin-locks. Cheers, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt