linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Theodore Tso <tytso@mit.edu>,
	Eric Biggers <ebiggers@google.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	"Jason A. Donenfeld" <Jason@zx2c4.com>
Subject: [PATCH 4.9 139/264] random: rewrite header introductory comment
Date: Thu, 23 Jun 2022 18:42:12 +0200	[thread overview]
Message-ID: <20220623164347.999106271@linuxfoundation.org> (raw)
In-Reply-To: <20220623164344.053938039@linuxfoundation.org>

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit 5f75d9f3babea8ae0a2d06724656874f41d317f5 upstream.

Now that we've re-documented the various sections, we can remove the
outdated text here and replace it with a high-level overview.

Cc: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/char/random.c |  179 +++++---------------------------------------------
 1 file changed, 19 insertions(+), 160 deletions(-)

--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -2,168 +2,27 @@
 /*
  * Copyright (C) 2017-2022 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
  * Copyright Matt Mackall <mpm@selenic.com>, 2003, 2004, 2005
- * Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999.  All
- * rights reserved.
- */
-
-/*
- * Exported interfaces ---- output
- * ===============================
- *
- * There are four exported interfaces; two for use within the kernel,
- * and two for use from userspace.
- *
- * Exported interfaces ---- userspace output
- * -----------------------------------------
- *
- * The userspace interfaces are two character devices /dev/random and
- * /dev/urandom.  /dev/random is suitable for use when very high
- * quality randomness is desired (for example, for key generation or
- * one-time pads), as it will only return a maximum of the number of
- * bits of randomness (as estimated by the random number generator)
- * contained in the entropy pool.
- *
- * The /dev/urandom device does not have this limit, and will return
- * as many bytes as are requested.  As more and more random bytes are
- * requested without giving time for the entropy pool to recharge,
- * this will result in random numbers that are merely cryptographically
- * strong.  For many applications, however, this is acceptable.
- *
- * Exported interfaces ---- kernel output
- * --------------------------------------
- *
- * The primary kernel interfaces are:
- *
- *	void get_random_bytes(void *buf, size_t nbytes);
- *	u32 get_random_u32()
- *	u64 get_random_u64()
- *	unsigned int get_random_int()
- *	unsigned long get_random_long()
- *
- * These interfaces will return the requested number of random bytes
- * into the given buffer or as a return value. This is equivalent to a
- * read from /dev/urandom. The get_random_{u32,u64,int,long}() family
- * of functions may be higher performance for one-off random integers,
- * because they do a bit of buffering.
- *
- * prandom_u32()
- * -------------
- *
- * For even weaker applications, see the pseudorandom generator
- * prandom_u32(), prandom_max(), and prandom_bytes().  If the random
- * numbers aren't security-critical at all, these are *far* cheaper.
- * Useful for self-tests, random error simulation, randomized backoffs,
- * and any other application where you trust that nobody is trying to
- * maliciously mess with you by guessing the "random" numbers.
- *
- * Exported interfaces ---- input
- * ==============================
- *
- * The current exported interfaces for gathering environmental noise
- * from the devices are:
- *
- *	void add_device_randomness(const void *buf, size_t size);
- *	void add_input_randomness(unsigned int type, unsigned int code,
- *                                unsigned int value);
- *	void add_interrupt_randomness(int irq);
- *	void add_disk_randomness(struct gendisk *disk);
- *	void add_hwgenerator_randomness(const void *buffer, size_t count,
- *					size_t entropy);
- *	void add_bootloader_randomness(const void *buf, size_t size);
- *
- * add_device_randomness() is for adding data to the random pool that
- * is likely to differ between two devices (or possibly even per boot).
- * This would be things like MAC addresses or serial numbers, or the
- * read-out of the RTC. This does *not* add any actual entropy to the
- * pool, but it initializes the pool to different values for devices
- * that might otherwise be identical and have very little entropy
- * available to them (particularly common in the embedded world).
- *
- * add_input_randomness() uses the input layer interrupt timing, as well as
- * the event type information from the hardware.
- *
- * add_interrupt_randomness() uses the interrupt timing as random
- * inputs to the entropy pool. Using the cycle counters and the irq source
- * as inputs, it feeds the randomness roughly once a second.
- *
- * add_disk_randomness() uses what amounts to the seek time of block
- * layer request events, on a per-disk_devt basis, as input to the
- * entropy pool. Note that high-speed solid state drives with very low
- * seek times do not make for good sources of entropy, as their seek
- * times are usually fairly consistent.
- *
- * All of these routines try to estimate how many bits of randomness a
- * particular randomness source.  They do this by keeping track of the
- * first and second order deltas of the event timings.
- *
- * add_hwgenerator_randomness() is for true hardware RNGs, and will credit
- * entropy as specified by the caller. If the entropy pool is full it will
- * block until more entropy is needed.
- *
- * add_bootloader_randomness() is the same as add_hwgenerator_randomness() or
- * add_device_randomness(), depending on whether or not the configuration
- * option CONFIG_RANDOM_TRUST_BOOTLOADER is set.
- *
- * Ensuring unpredictability at system startup
- * ============================================
- *
- * When any operating system starts up, it will go through a sequence
- * of actions that are fairly predictable by an adversary, especially
- * if the start-up does not involve interaction with a human operator.
- * This reduces the actual number of bits of unpredictability in the
- * entropy pool below the value in entropy_count.  In order to
- * counteract this effect, it helps to carry information in the
- * entropy pool across shut-downs and start-ups.  To do this, put the
- * following lines an appropriate script which is run during the boot
- * sequence:
- *
- *	echo "Initializing random number generator..."
- *	random_seed=/var/run/random-seed
- *	# Carry a random seed from start-up to start-up
- *	# Load and then save the whole entropy pool
- *	if [ -f $random_seed ]; then
- *		cat $random_seed >/dev/urandom
- *	else
- *		touch $random_seed
- *	fi
- *	chmod 600 $random_seed
- *	dd if=/dev/urandom of=$random_seed count=1 bs=512
- *
- * and the following lines in an appropriate script which is run as
- * the system is shutdown:
- *
- *	# Carry a random seed from shut-down to start-up
- *	# Save the whole entropy pool
- *	echo "Saving random seed..."
- *	random_seed=/var/run/random-seed
- *	touch $random_seed
- *	chmod 600 $random_seed
- *	dd if=/dev/urandom of=$random_seed count=1 bs=512
- *
- * For example, on most modern systems using the System V init
- * scripts, such code fragments would be found in
- * /etc/rc.d/init.d/random.  On older Linux systems, the correct script
- * location might be in /etc/rcb.d/rc.local or /etc/rc.d/rc.0.
- *
- * Effectively, these commands cause the contents of the entropy pool
- * to be saved at shut-down time and reloaded into the entropy pool at
- * start-up.  (The 'dd' in the addition to the bootup script is to
- * make sure that /etc/random-seed is different for every start-up,
- * even if the system crashes without executing rc.0.)  Even with
- * complete knowledge of the start-up activities, predicting the state
- * of the entropy pool requires knowledge of the previous history of
- * the system.
- *
- * Configuring the /dev/random driver under Linux
- * ==============================================
+ * Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights reserved.
  *
- * The /dev/random driver under Linux uses minor numbers 8 and 9 of
- * the /dev/mem major number (#1).  So if your system does not have
- * /dev/random and /dev/urandom created already, they can be created
- * by using the commands:
+ * This driver produces cryptographically secure pseudorandom data. It is divided
+ * into roughly six sections, each with a section header:
  *
- *	mknod /dev/random c 1 8
- *	mknod /dev/urandom c 1 9
+ *   - Initialization and readiness waiting.
+ *   - Fast key erasure RNG, the "crng".
+ *   - Entropy accumulation and extraction routines.
+ *   - Entropy collection routines.
+ *   - Userspace reader/writer interfaces.
+ *   - Sysctl interface.
+ *
+ * The high level overview is that there is one input pool, into which
+ * various pieces of data are hashed. Some of that data is then "credited" as
+ * having a certain number of bits of entropy. When enough bits of entropy are
+ * available, the hash is finalized and handed as a key to a stream cipher that
+ * expands it indefinitely for various consumers. This key is periodically
+ * refreshed as the various entropy collectors, described below, add data to the
+ * input pool and credit it. There is currently no Fortuna-like scheduler
+ * involved, which can lead to malicious entropy sources causing a premature
+ * reseed, and the entropy estimates are, at best, conservative guesses.
  */
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt



  parent reply	other threads:[~2022-06-23 17:14 UTC|newest]

Thread overview: 270+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-23 16:39 [PATCH 4.9 000/264] 4.9.320-rc1 review Greg Kroah-Hartman
2022-06-23 16:39 ` [PATCH 4.9 001/264] 9p: missing chunk of "fs/9p: Dont update file type when updating file attributes" Greg Kroah-Hartman
2022-06-23 16:39 ` [PATCH 4.9 002/264] random: remove stale maybe_reseed_primary_crng Greg Kroah-Hartman
2022-06-23 16:39 ` [PATCH 4.9 003/264] random: remove stale urandom_init_wait Greg Kroah-Hartman
2022-06-23 16:39 ` [PATCH 4.9 004/264] random: remove variable limit Greg Kroah-Hartman
2022-06-23 16:39 ` [PATCH 4.9 005/264] random: fix comment for unused random_min_urandom_seed Greg Kroah-Hartman
2022-06-23 16:39 ` [PATCH 4.9 006/264] random: convert get_random_int/long into get_random_u32/u64 Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 007/264] random: move random_min_urandom_seed into CONFIG_SYSCTL ifdef block Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 008/264] random: invalidate batched entropy after crng init Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 009/264] random: silence compiler warnings and fix race Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 010/264] random: add wait_for_random_bytes() API Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 011/264] random: add get_random_{bytes,u32,u64,int,long,once}_wait family Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 012/264] random: warn when kernel uses unseeded randomness Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 013/264] random: do not ignore early device randomness Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 014/264] random: suppress spammy warnings about unseeded randomness Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 015/264] random: reorder READ_ONCE() in get_random_uXX Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 016/264] random: fix warning message on ia64 and parisc Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 017/264] random: use a different mixing algorithm for add_device_randomness() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 018/264] random: set up the NUMA crng instances after the CRNG is fully initialized Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 019/264] random: fix possible sleeping allocation from irq context Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 020/264] random: rate limit unseeded randomness warnings Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 021/264] random: add a spinlock_t to struct batched_entropy Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 022/264] char/random: silence a lockdep splat with printk() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 023/264] Revert "char/random: silence a lockdep splat with printk()" Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 024/264] random: always use batched entropy for get_random_u{32,64} Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 025/264] random: fix data race on crng_node_pool Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 026/264] crypto: chacha20 - Fix keystream alignment for chacha20_block() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 027/264] random: always fill buffer in get_random_bytes_wait Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 028/264] random: optimize add_interrupt_randomness Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 029/264] drivers/char/random.c: remove unused dont_count_entropy Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 030/264] random: Fix whitespace pre random-bytes work Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 031/264] random: Return nbytes filled from hw RNG Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 032/264] random: add a config option to trust the CPUs hwrng Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 033/264] random: remove preempt disabled region Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 034/264] random: Make crng state queryable Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 035/264] random: make CPU trust a boot parameter Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 036/264] drivers/char/random.c: constify poolinfo_table Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 037/264] drivers/char/random.c: remove unused stuct poolinfo::poolbits Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 038/264] drivers/char/random.c: make primary_crng static Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 039/264] random: only read from /dev/random after its pool has received 128 bits Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 040/264] random: move rand_initialize() earlier Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 041/264] random: document get_random_int() family Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 042/264] latent_entropy: avoid build error when plugin cflags are not set Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 043/264] random: fix soft lockup when trying to read from an uninitialized blocking pool Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 044/264] random: Support freezable kthreads in add_hwgenerator_randomness() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 045/264] fdt: add support for rng-seed Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 046/264] random: Use wait_event_freezable() in add_hwgenerator_randomness() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 047/264] char/random: Add a newline at the end of the file Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 048/264] Revert "hwrng: core - Freeze khwrng thread during suspend" Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 049/264] crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 050/264] crypto: blake2s - generic C library implementation and selftest Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 051/264] lib/crypto: blake2s: move hmac construction into wireguard Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 052/264] lib/crypto: sha1: re-roll loops to reduce code size Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 053/264] random: Dont wake crng_init_wait when crng_init == 1 Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 054/264] random: Add a urandom_read_nowait() for random APIs that dont warn Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 055/264] random: add GRND_INSECURE to return best-effort non-cryptographic bytes Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 056/264] random: ignore GRND_RANDOM in getentropy(2) Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 057/264] random: make /dev/random be almost like /dev/urandom Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 058/264] random: fix crash on multiple early calls to add_bootloader_randomness() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 059/264] random: remove the blocking pool Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 060/264] random: delete code to pull data into pools Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 061/264] random: remove kernel.random.read_wakeup_threshold Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 062/264] random: remove unnecessary unlikely() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 063/264] random: convert to ENTROPY_BITS for better code readability Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 064/264] random: Add and use pr_fmt() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 065/264] random: fix typo in add_timer_randomness() Greg Kroah-Hartman
2022-06-23 16:40 ` [PATCH 4.9 066/264] random: remove some dead code of poolinfo Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 067/264] random: split primary/secondary crng init paths Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 068/264] random: avoid warnings for !CONFIG_NUMA builds Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 069/264] x86: Remove arch_has_random, arch_has_random_seed Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 070/264] powerpc: " Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 071/264] linux/random.h: " Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 072/264] linux/random.h: Use false with bool Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 073/264] linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 074/264] powerpc: Use bool in archrandom.h Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 075/264] random: add arch_get_random_*long_early() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 076/264] random: avoid arch_get_random_seed_long() when collecting IRQ randomness Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 077/264] random: remove dead code left over from blocking pool Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 078/264] MAINTAINERS: co-maintain random.c Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 079/264] crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h> Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 080/264] crypto: blake2s - adjust include guard naming Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 081/264] random: document add_hwgenerator_randomness() with other input functions Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 082/264] random: remove unused irq_flags argument from add_interrupt_randomness() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 083/264] random: use BLAKE2s instead of SHA1 in extraction Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 084/264] random: do not sign extend bytes for rotation when mixing Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 085/264] random: do not re-init if crng_reseed completes before primary init Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 086/264] random: mix bootloader randomness into pool Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 087/264] random: harmonize "crng init done" messages Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 088/264] random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 089/264] random: initialize ChaCha20 constants with correct endianness Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 090/264] random: early initialization of ChaCha constants Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 091/264] random: avoid superfluous call to RDRAND in CRNG extraction Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 092/264] random: dont reset crng_init_cnt on urandom_read() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 093/264] random: fix typo in comments Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 094/264] random: cleanup poolinfo abstraction Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 095/264] crypto: chacha20 - Fix chacha20_block() keystream alignment (again) Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 096/264] random: cleanup integer types Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 097/264] random: remove incomplete last_data logic Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 098/264] random: remove unused extract_entropy() reserved argument Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 099/264] random: try to actively add entropy rather than passively wait for it Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 100/264] random: rather than entropy_store abstraction, use global Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 101/264] random: remove unused OUTPUT_POOL constants Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 102/264] random: de-duplicate INPUT_POOL constants Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 103/264] random: prepend remaining pool constants with POOL_ Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 104/264] random: cleanup fractional entropy shift constants Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 105/264] random: access input_pool_data directly rather than through pointer Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 106/264] random: simplify arithmetic function flow in account() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 107/264] random: continually use hwgenerator randomness Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 108/264] random: access primary_pool directly rather than through pointer Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 109/264] random: only call crng_finalize_init() for primary_crng Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 110/264] random: use computational hash for entropy extraction Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 111/264] random: simplify entropy debiting Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 112/264] random: use linear min-entropy accumulation crediting Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 113/264] random: always wake up entropy writers after extraction Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 114/264] random: make credit_entropy_bits() always safe Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 115/264] random: remove use_input_pool parameter from crng_reseed() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 116/264] random: remove batched entropy locking Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 117/264] random: fix locking in crng_fast_load() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 118/264] random: use RDSEED instead of RDRAND in entropy extraction Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 119/264] random: inline leaves of rand_initialize() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 120/264] random: ensure early RDSEED goes through mixer on init Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 121/264] random: do not xor RDRAND when writing into /dev/random Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 122/264] random: absorb fast pool into input pool after fast load Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 123/264] random: use hash function for crng_slow_load() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 124/264] random: remove outdated INT_MAX >> 6 check in urandom_read() Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 125/264] random: zero buffer after reading entropy from userspace Greg Kroah-Hartman
2022-06-23 16:41 ` [PATCH 4.9 126/264] random: tie batched entropy generation to base_crng generation Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 127/264] random: remove ifdefd out interrupt bench Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 128/264] random: remove unused tracepoints Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 129/264] random: add proper SPDX header Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 130/264] random: deobfuscate irq u32/u64 contributions Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 131/264] random: introduce drain_entropy() helper to declutter crng_reseed() Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 132/264] random: remove useless header comment Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 133/264] random: remove whitespace and reorder includes Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 134/264] random: group initialization wait functions Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 135/264] random: group entropy extraction functions Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 136/264] random: group entropy collection functions Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 137/264] random: group userspace read/write functions Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 138/264] random: group sysctl functions Greg Kroah-Hartman
2022-06-23 16:42 ` Greg Kroah-Hartman [this message]
2022-06-23 16:42 ` [PATCH 4.9 140/264] workqueue: make workqueue available early during boot Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 141/264] random: defer fast pool mixing to worker Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 142/264] random: do not take pool spinlock at boot Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 143/264] random: unify early init crng load accounting Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 144/264] random: check for crng_init == 0 in add_device_randomness() Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 145/264] hwrng: core - do not use multiple blank lines Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 146/264] hwrng: core - rewrite better comparison to NULL Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 147/264] hwrng: core - Rewrite the header Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 148/264] hwrng: core - Move hwrng miscdev minor number to include/linux/miscdevice.h Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 149/264] hwrng: core - remove unused PFX macro Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 150/264] hwrng: use rng source with best quality Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 151/264] hwrng: remember rng chosen by user Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 152/264] random: pull add_hwgenerator_randomness() declaration into random.h Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 153/264] random: clear fast pool, crng, and batches in cpuhp bring up Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 154/264] random: round-robin registers as ulong, not u32 Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 155/264] random: only wake up writers after zap if threshold was passed Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 156/264] random: cleanup UUID handling Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 157/264] random: unify cycles_t and jiffies usage and types Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 158/264] random: do crng pre-init loading in worker rather than irq Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 159/264] random: give sysctl_random_min_urandom_seed a more sensible value Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 160/264] random: dont let 644 read-only sysctls be written to Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 161/264] random: replace custom notifier chain with standard one Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 162/264] random: use SipHash as interrupt entropy accumulator Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 163/264] random: make consistent usage of crng_ready() Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 164/264] random: reseed more often immediately after booting Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 165/264] random: check for signal and try earlier when generating entropy Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 166/264] random: skip fast_init if hwrng provides large chunk of entropy Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 167/264] random: treat bootloader trust toggle the same way as cpu trust toggle Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 168/264] random: re-add removed comment about get_random_{u32,u64} reseeding Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 169/264] random: mix build-time latent entropy into pool at init Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 170/264] random: do not split fast init input in add_hwgenerator_randomness() Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 171/264] random: do not allow user to keep crng key around on stack Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 172/264] random: check for signal_pending() outside of need_resched() check Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 173/264] random: check for signals every PAGE_SIZE chunk of /dev/[u]random Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 174/264] random: make random_get_entropy() return an unsigned long Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 175/264] random: document crng_fast_key_erasure() destination possibility Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 176/264] random: fix sysctl documentation nits Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 177/264] init: call time_init() before rand_initialize() Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 178/264] ia64: define get_cycles macro for arch-override Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 179/264] s390: " Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 180/264] parisc: " Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 181/264] alpha: " Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 182/264] powerpc: " Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 183/264] timekeeping: Add raw clock fallback for random_get_entropy() Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 184/264] m68k: use fallback for random_get_entropy() instead of zero Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 185/264] mips: use fallback for random_get_entropy() instead of just c0 random Greg Kroah-Hartman
2022-06-23 16:42 ` [PATCH 4.9 186/264] arm: use fallback for random_get_entropy() instead of zero Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 187/264] nios2: " Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 188/264] x86/tsc: Use " Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 189/264] um: use " Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 190/264] sparc: " Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 191/264] xtensa: " Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 192/264] uapi: rename ext2_swab() to swab() and share globally in swab.h Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 193/264] random: insist on random_get_entropy() existing in order to simplify Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 194/264] random: do not use batches when !crng_ready() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 195/264] random: do not pretend to handle premature next security model Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 196/264] random: order timer entropy functions below interrupt functions Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 197/264] random: do not use input pool from hard IRQs Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 198/264] random: help compiler out with fast_mix() by using simpler arguments Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 199/264] siphash: use one source of truth for siphash permutations Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 200/264] random: use symbolic constants for crng_init states Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 201/264] random: avoid initializing twice in credit race Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 202/264] random: remove ratelimiting for in-kernel unseeded randomness Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 203/264] random: use proper jiffies comparison macro Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 204/264] random: handle latent entropy and command line from random_init() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 205/264] random: credit architectural init the exact amount Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 206/264] random: use static branch for crng_ready() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 207/264] random: remove extern from functions in header Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 208/264] random: use proper return types on get_random_{int,long}_wait() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 209/264] random: move initialization functions out of hot pages Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 210/264] random: move randomize_page() into mm where it belongs Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 211/264] random: convert to using fops->write_iter() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 212/264] random: wire up fops->splice_{read,write}_iter() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 213/264] random: check for signals after page of pool writes Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 214/264] Revert "random: use static branch for crng_ready()" Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 215/264] crypto: drbg - add FIPS 140-2 CTRNG for noise source Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 216/264] crypto: drbg - always seeded with SP800-90B compliant " Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 217/264] crypto: drbg - prepare for more fine-grained tracking of seeding state Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 218/264] crypto: drbg - track whether DRBG was seeded with !rng_is_initialized() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 219/264] crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 220/264] crypto: drbg - always try to free Jitter RNG instance Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 221/264] crypto: drbg - make reseeding from get_random_bytes() synchronous Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 222/264] random: avoid checking crng_ready() twice in random_init() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 223/264] random: mark bootloader randomness code as __init Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 224/264] random: account for arch randomness in bits Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 225/264] ASoC: cs42l52: Fix TLV scales for mixer controls Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 226/264] ASoC: cs53l30: Correct number of volume levels on SX controls Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 227/264] ASoC: cs42l52: Correct TLV for Bypass Volume Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 228/264] ASoC: cs42l56: Correct typo in minimum level for SX volume controls Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 229/264] ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 230/264] ASoC: wm8962: Fix suspend while playing music Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 231/264] scsi: vmw_pvscsi: Expand vcpuHint to 16 bits Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 232/264] scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 233/264] virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 234/264] nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 235/264] ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 236/264] net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 237/264] random: credit cpu and bootloader seeds by default Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 238/264] pNFS: Dont keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 239/264] misc: atmel-ssc: Fix IRQ check in ssc_probe Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 240/264] irqchip/gic/realview: Fix refcount leak in realview_gic_of_init Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 241/264] irqchip/gic-v3: Iterate over possible CPUs by for_each_possible_cpu() Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 242/264] comedi: vmk80xx: fix expression for tx buffer size Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 243/264] USB: serial: option: add support for Cinterion MV31 with new baseline Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 244/264] USB: serial: io_ti: add Agilent E5805A support Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 245/264] usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe Greg Kroah-Hartman
2022-06-23 16:43 ` [PATCH 4.9 246/264] serial: 8250: Store to lsr_save_flags after lsr read Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 247/264] ext4: fix bug_on ext4_mb_use_inode_pa Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 248/264] ext4: make variable "count" signed Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 249/264] ext4: add reserved GDT blocks check Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 250/264] l2tp: dont use inet_shutdown on ppp session destroy Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 251/264] l2tp: fix race in pppol2tp_release with session object destroy Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 252/264] s390/mm: use non-quiescing sske for KVM switch to keyed guest Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 253/264] xprtrdma: fix incorrect header size calculations Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 254/264] swiotlb: fix info leak with DMA_FROM_DEVICE Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 255/264] Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 256/264] fuse: fix pipe buffer lifetime for direct_io Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 257/264] tcp: change source port randomizarion at connect() time Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 258/264] tcp: add some entropy in __inet_hash_connect() Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 259/264] secure_seq: use the 64 bits of the siphash for port offset calculation Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 260/264] tcp: use different parts of the port_offset for index and offset Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 261/264] tcp: add small random increments to the source port Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 262/264] tcp: dynamically allocate the perturb table used by source ports Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 263/264] tcp: increase source port perturb table to 2^16 Greg Kroah-Hartman
2022-06-23 16:44 ` [PATCH 4.9 264/264] tcp: drop the hash_32() part from the index calculation Greg Kroah-Hartman
2022-06-23 19:30 ` [PATCH 4.9 000/264] 4.9.320-rc1 review Florian Fainelli
2022-06-23 20:11 ` Pavel Machek
2022-06-24  0:54 ` Shuah Khan
2022-06-24 23:33 ` Guenter Roeck
2022-06-25 13:53 ` Naresh Kamboju

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220623164347.999106271@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=Jason@zx2c4.com \
    --cc=ebiggers@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@dominikbrodowski.net \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).