Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp6139856ybl; Mon, 23 Dec 2019 00:21:54 -0800 (PST) X-Google-Smtp-Source: APXvYqyW/EHTsq3KBYXYCCxXyDnlX+R3Lg6fKSX9bjEJzGxTAhhUFvIVKZI0ON80B0nzkXWnOy2T X-Received: by 2002:a05:6830:11d2:: with SMTP id v18mr15804377otq.151.1577089314311; Mon, 23 Dec 2019 00:21:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577089314; cv=none; d=google.com; s=arc-20160816; b=emqG9M0TS8Ui/bNlHnKXIqq3sj6hVUjHCzzJfj/SEe23HPFJyO24RPCpH/IZwiw0m7 EFixMpe5lV6efs4NY8nvMaLDDGb4ULoYz2OQyjlJD8Xkmv5h2yaz5/y9GnjlH9H8PKSx /acOEhVqo3OP+O0/Di7jaJGwQi7ExwNwzvR9zsOWYOS9QCJN3SDS2Yk2ISS8BPcpeWkG x/fIrFArL3EaQpJVK2smJWpTlKbvAKT4ply/4q3GAZKzDZFGOpbQcOsgSoUutJfEAIl1 8UGuHyJ+OJNdlk0lMOy3+/Edmv6+jO01HTUoFOKcc4Hsr3UJnMiWoF49enbDYVivGah/ T/ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=BmXvG7r0NCb+keocLbTp4d6fpftzrEWrlIm3/7EsB88=; b=DWJrlNWjxfwd9akIyaW96tw6NoFsdR8NJZW3sJpSX4SmASYVulIUuwV77BGmERQG50 iwNTKjXK/4EVMSFfSubY6rirfcctG8XBNklAWS3td4QrKdTVodkF9iR8Mkt8yKIuR1l7 8U3U/NW9ODA/EyD5KJ9uP+iY+0kpayNxL07DRbAoFmSQdqXs2rvglqbf+5TVHeAn7Hzr ZitRMt5efXYO2I46f0IMvEo3B73NA5vphMyFkkyRDgUZFW5xk6PeqBF3V0Dz3GQOOtSk YslnShsDGe6HWwAhZFp52OjDvVrpaEyqEyxH1O3MydVuP4MeKi+NkD1sInDNGdlDFEq2 lqMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QSO+2pEj; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u5si3472892otg.99.2019.12.23.00.21.43; Mon, 23 Dec 2019 00:21:54 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QSO+2pEj; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726925AbfLWIV1 (ORCPT + 99 others); Mon, 23 Dec 2019 03:21:27 -0500 Received: from mail.kernel.org ([198.145.29.99]:39144 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726905AbfLWIVX (ORCPT ); Mon, 23 Dec 2019 03:21:23 -0500 Received: from localhost (36-236-5-169.dynamic-ip.hinet.net [36.236.5.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EBA2221655; Mon, 23 Dec 2019 08:21:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577089282; bh=laLFbvSbXpbF9WgM9j13HCr9h+SIjAYDeRNGL5MqgaU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QSO+2pEjr0yzOhOz2hqtI2DxrOJbTrdaWohi9EZsJwcYozzf1zh7CuKnqUC0dcDvF HJziWW+1iXRCkzGuK9B0NCUlfaKZ4rcaxTpLmDO9qbHgaT1oLCCwmZVTepfIDhsw8L FHrasevXuoqUceNIuq9hmYigC93mMKsCMpNIVQYc= From: Andy Lutomirski To: Ted Ts'o Cc: LKML , Linux API , Kees Cook , "Jason A. Donenfeld" , "Ahmed S. Darwish" , Lennart Poettering , "Eric W. Biederman" , "Alexander E. Patrakov" , Michael Kerrisk , Willy Tarreau , Matthew Garrett , Ext4 Developers List , linux-man , Stephan Mueller , Andy Lutomirski Subject: [PATCH v3 7/8] random: Delete code to pull data into pools Date: Mon, 23 Dec 2019 00:20:50 -0800 Message-Id: <4a05fe0c7a5c831389ef4aea51d24528ac8682c7.1577088521.git.luto@kernel.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org There is no pool that pulls, so it was just dead code. Signed-off-by: Andy Lutomirski --- drivers/char/random.c | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c index b4f834893d9d..920bf771e3e1 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -528,10 +528,8 @@ struct entropy_store { const struct poolinfo *poolinfo; __u32 *pool; const char *name; - struct entropy_store *pull; /* read-write data: */ - unsigned long last_pulled; spinlock_t lock; unsigned short add_ptr; unsigned short input_rotate; @@ -1347,41 +1345,6 @@ EXPORT_SYMBOL_GPL(add_disk_randomness); * *********************************************************************/ -/* - * This utility inline function is responsible for transferring entropy - * from the primary pool to the secondary extraction pool. We make - * sure we pull enough for a 'catastrophic reseed'. - */ -static void _xfer_secondary_pool(struct entropy_store *r, size_t nbytes); -static void xfer_secondary_pool(struct entropy_store *r, size_t nbytes) -{ - if (!r->pull || - r->entropy_count >= (nbytes << (ENTROPY_SHIFT + 3)) || - r->entropy_count > r->poolinfo->poolfracbits) - return; - - _xfer_secondary_pool(r, nbytes); -} - -static void _xfer_secondary_pool(struct entropy_store *r, size_t nbytes) -{ - __u32 tmp[OUTPUT_POOL_WORDS]; - - int bytes = nbytes; - - /* pull at least as much as a wakeup */ - bytes = max_t(int, bytes, random_read_wakeup_bits / 8); - /* but never more than the buffer size */ - bytes = min_t(int, bytes, sizeof(tmp)); - - trace_xfer_secondary_pool(r->name, bytes * 8, nbytes * 8, - ENTROPY_BITS(r), ENTROPY_BITS(r->pull)); - bytes = extract_entropy(r->pull, tmp, bytes, - random_read_wakeup_bits / 8, 0); - mix_pool_bytes(r, tmp, bytes); - credit_entropy_bits(r, bytes*8); -} - /* * This function decides how many bytes to actually take from the * given pool, and also debits the entropy count accordingly. @@ -1545,7 +1508,6 @@ static ssize_t extract_entropy(struct entropy_store *r, void *buf, spin_unlock_irqrestore(&r->lock, flags); trace_extract_entropy(r->name, EXTRACT_SIZE, ENTROPY_BITS(r), _RET_IP_); - xfer_secondary_pool(r, EXTRACT_SIZE); extract_buf(r, tmp); spin_lock_irqsave(&r->lock, flags); memcpy(r->last_data, tmp, EXTRACT_SIZE); @@ -1554,7 +1516,6 @@ static ssize_t extract_entropy(struct entropy_store *r, void *buf, } trace_extract_entropy(r->name, nbytes, ENTROPY_BITS(r), _RET_IP_); - xfer_secondary_pool(r, nbytes); nbytes = account(r, nbytes, min, reserved); return _extract_entropy(r, buf, nbytes, fips_enabled); @@ -1825,7 +1786,6 @@ static void __init init_std_data(struct entropy_store *r) ktime_t now = ktime_get_real(); unsigned long rv; - r->last_pulled = jiffies; mix_pool_bytes(r, &now, sizeof(now)); for (i = r->poolinfo->poolbytes; i > 0; i -= sizeof(rv)) { if (!arch_get_random_seed_long(&rv) && -- 2.23.0