All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Stephan Müller" <smueller@chronox.de>
To: Nicolai Stange <nstange@suse.de>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-crypto@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	linux-api@vger.kernel.org,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	"Alexander E. Patrakov" <patrakov@gmail.com>,
	"Ahmed S. Darwish" <darwish.07@gmail.com>,
	"Theodore Y. Ts'o" <tytso@mit.edu>, Willy Tarreau <w@1wt.eu>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Vito Caputo <vcaputo@pengaru.com>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Jan Kara <jack@suse.cz>, Ray Strode <rstrode@redhat.com>,
	William Jon McCann <mccann@jhu.edu>,
	zhangjs <zachary@baishancloud.com>,
	Andy Lutomirski <luto@kernel.org>,
	Florian Weimer <fweimer@redhat.com>,
	Lennart Poettering <mzxreary@0pointer.de>,
	"Peter, Matthias" <matthias>
Subject: Re: [PATCH v25 01/12] Linux Random Number Generator
Date: Sun, 17 Nov 2019 12:01:15 +0100	[thread overview]
Message-ID: <4567011.rgkcMjRUIa@positron.chronox.de> (raw)
In-Reply-To: <87mucvadvg.fsf@suse.de>

Am Samstag, 16. November 2019, 19:13:23 CET schrieb Nicolai Stange:

Hi Nicolai,

> Hi Stephan,
> 
> Stephan Müller <smueller@chronox.de> writes:
> > +/* Initialize the default DRNG during boot */
> 
> I think that this can get called a bit too early through the
> get_random_bytes() invoked from e.g. boot_init_stack_canary(): in
> start_kernel(), there is
> 
> 	boot_init_stack_canary();
> 
> 	time_init();
> 
> On ARM (at least with arm_arch_timer.c), get_cycles() would return 0
> until
> 
>   time_init() => timer_probe() => arch_timer_of_init() =>
>   arch_timer_common_init() => arch_timer_arch_init() =>
>   arch_timer_delay_timer_register() => register_current_timer_delay()
> 
> has executed and thus, ...
> 
> > +void lrng_drngs_init_cc20(void)
> > +{
> > +	unsigned long flags = 0;
> > +
> > +	if (lrng_get_available())
> > +		return;
> > +
> > +	lrng_sdrng_lock(&lrng_sdrng_init, &flags);
> > +	if (lrng_get_available()) {
> > +		lrng_sdrng_unlock(&lrng_sdrng_init, &flags);
> > +		return;
> > +	}
> > +
> > +	if (random_get_entropy() || random_get_entropy()) {
> > +		/*
> > +		 * As the highres timer is identified here, previous interrupts
> > +		 * obtained during boot time are treated like a lowres-timer
> > +		 * would have been present.
> > +		 */
> > +		lrng_pool_configure(true, LRNG_IRQ_ENTROPY_BITS);
> > +	} else {
> > +		lrng_health_disable();
> > +		lrng_pool_configure(false, LRNG_IRQ_ENTROPY_BITS *
> > +					   LRNG_IRQ_OVERSAMPLING_FACTOR);
> > +		pr_warn("operating without high-resolution timer and applying "
> > +			"IRQ oversampling factor %u\n",
> > +			LRNG_IRQ_OVERSAMPLING_FACTOR);
> 
> ... LRNG thinks that no high-res timer is available even though there
> is:
> 
> [    0.000000] lrng_sdrng: operating without high-resolution timer and
> applying IRQ oversampling factor 10 [    0.000000] lrng_chacha20: ChaCha20
> core initialized
> [    0.000000] lrng_chacha20: ChaCha20 core initialized
> [    0.000014] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps
> every 2147483647500ns [    0.000036] clocksource: timer: mask: 0xffffffff
> max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns [    0.000114]
> bcm2835: system timer (irq = 27)
> [    0.000594] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
> [    0.000613] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns [    0.000631]
> sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
> [    0.000645] Switching to timer-based delay loop, resolution 52ns
> 
> Note that this last line comes from aforementioned
> register_current_timer_delay().
> 
> Similarly, get_random_bytes() can get called quite early through
> WARN() => warn_slowpath_fmt() => __warn() => print_oops_end_marker() =>
> init_oops_id().
> 
> Perhaps it would make sense not to do the (pool + health test)
> initalization "on-demand", but rather make sure it happens at some
> well-defined point after time_init()? Or at least that the pool +
> the health tests get reconfigured eventually?


Thank you very much for testing this and reporting it.

I have extracted the initialization of the time source into its own function 
and execute it with core_initcall. With that, the DRNG is initialized at the 
time it needs initialization.

But the time source check is now done when time_init is completed as first 
time_init is called and then arch_call_rest_init -> rest_init -> kernel_init -
> kernel_init_freeable -> do_basic_setup -> do_initcalls where the initcalls 
registered with the core_initcall callback are now executed as the first 
batch.


> 
> 
> Thanks,
> 
> Nicolai
> 
> P.S: include/linux/lrng.h needs an #include <linux/errno.h> for
>      CONFIG_LRNG_DRNG_SWITCH=n

Thank you, added.
> 
> > +	}
> > +
> > +	lrng_sdrng_reset(&lrng_sdrng_init);
> > +	lrng_cc20_init_state(&secondary_chacha20);
> > +	lrng_state_init_seed_work();
> > +	lrng_sdrng_unlock(&lrng_sdrng_init, &flags);
> > +
> > +	lrng_sdrng_lock(&lrng_sdrng_atomic, &flags);
> > +	lrng_sdrng_reset(&lrng_sdrng_atomic);
> > +	/*
> > +	 * We do not initialize the state of the atomic DRNG as it is identical
> > +	 * to the secondary DRNG at this point.
> > +	 */
> > +	lrng_sdrng_unlock(&lrng_sdrng_atomic, &flags);
> > +
> > +	lrng_trng_init();
> > +
> > +	lrng_set_available();
> > +}
> > +
> > +/* Reset LRNG such that all existing entropy is gone */


Ciao
Stephan

WARNING: multiple messages have this Message-ID (diff)
From: "Stephan Müller" <smueller@chronox.de>
To: Nicolai Stange <nstange@suse.de>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-crypto@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	linux-api@vger.kernel.org,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	"Alexander E. Patrakov" <patrakov@gmail.com>,
	"Ahmed S. Darwish" <darwish.07@gmail.com>,
	"Theodore Y. Ts'o" <tytso@mit.edu>, Willy Tarreau <w@1wt.eu>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Vito Caputo <vcaputo@pengaru.com>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Jan Kara <jack@suse.cz>, Ray Strode <rstrode@redhat.com>,
	William Jon McCann <mccann@jhu.edu>,
	zhangjs <zachary@baishancloud.com>,
	Andy Lutomirski <luto@kernel.org>,
	Florian Weimer <fweimer@redhat.com>,
	Lennart Poettering <mzxreary@0pointer.de>,
	"Peter, Matthias" <matthias.peter@bsi.bund.de>,
	Marcelo Henrique Cerri <marcelo.cerri@canonical.com>,
	Roman Drahtmueller <draht@schaltsekun.de>,
	Neil Horman <nhorman@redhat.com>
Subject: Re: [PATCH v25 01/12] Linux Random Number Generator
Date: Sun, 17 Nov 2019 12:01:15 +0100	[thread overview]
Message-ID: <4567011.rgkcMjRUIa@positron.chronox.de> (raw)
In-Reply-To: <87mucvadvg.fsf@suse.de>

Am Samstag, 16. November 2019, 19:13:23 CET schrieb Nicolai Stange:

Hi Nicolai,

> Hi Stephan,
> 
> Stephan Müller <smueller@chronox.de> writes:
> > +/* Initialize the default DRNG during boot */
> 
> I think that this can get called a bit too early through the
> get_random_bytes() invoked from e.g. boot_init_stack_canary(): in
> start_kernel(), there is
> 
> 	boot_init_stack_canary();
> 
> 	time_init();
> 
> On ARM (at least with arm_arch_timer.c), get_cycles() would return 0
> until
> 
>   time_init() => timer_probe() => arch_timer_of_init() =>
>   arch_timer_common_init() => arch_timer_arch_init() =>
>   arch_timer_delay_timer_register() => register_current_timer_delay()
> 
> has executed and thus, ...
> 
> > +void lrng_drngs_init_cc20(void)
> > +{
> > +	unsigned long flags = 0;
> > +
> > +	if (lrng_get_available())
> > +		return;
> > +
> > +	lrng_sdrng_lock(&lrng_sdrng_init, &flags);
> > +	if (lrng_get_available()) {
> > +		lrng_sdrng_unlock(&lrng_sdrng_init, &flags);
> > +		return;
> > +	}
> > +
> > +	if (random_get_entropy() || random_get_entropy()) {
> > +		/*
> > +		 * As the highres timer is identified here, previous interrupts
> > +		 * obtained during boot time are treated like a lowres-timer
> > +		 * would have been present.
> > +		 */
> > +		lrng_pool_configure(true, LRNG_IRQ_ENTROPY_BITS);
> > +	} else {
> > +		lrng_health_disable();
> > +		lrng_pool_configure(false, LRNG_IRQ_ENTROPY_BITS *
> > +					   LRNG_IRQ_OVERSAMPLING_FACTOR);
> > +		pr_warn("operating without high-resolution timer and applying "
> > +			"IRQ oversampling factor %u\n",
> > +			LRNG_IRQ_OVERSAMPLING_FACTOR);
> 
> ... LRNG thinks that no high-res timer is available even though there
> is:
> 
> [    0.000000] lrng_sdrng: operating without high-resolution timer and
> applying IRQ oversampling factor 10 [    0.000000] lrng_chacha20: ChaCha20
> core initialized
> [    0.000000] lrng_chacha20: ChaCha20 core initialized
> [    0.000014] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps
> every 2147483647500ns [    0.000036] clocksource: timer: mask: 0xffffffff
> max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns [    0.000114]
> bcm2835: system timer (irq = 27)
> [    0.000594] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
> [    0.000613] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns [    0.000631]
> sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
> [    0.000645] Switching to timer-based delay loop, resolution 52ns
> 
> Note that this last line comes from aforementioned
> register_current_timer_delay().
> 
> Similarly, get_random_bytes() can get called quite early through
> WARN() => warn_slowpath_fmt() => __warn() => print_oops_end_marker() =>
> init_oops_id().
> 
> Perhaps it would make sense not to do the (pool + health test)
> initalization "on-demand", but rather make sure it happens at some
> well-defined point after time_init()? Or at least that the pool +
> the health tests get reconfigured eventually?


Thank you very much for testing this and reporting it.

I have extracted the initialization of the time source into its own function 
and execute it with core_initcall. With that, the DRNG is initialized at the 
time it needs initialization.

But the time source check is now done when time_init is completed as first 
time_init is called and then arch_call_rest_init -> rest_init -> kernel_init -
> kernel_init_freeable -> do_basic_setup -> do_initcalls where the initcalls 
registered with the core_initcall callback are now executed as the first 
batch.


> 
> 
> Thanks,
> 
> Nicolai
> 
> P.S: include/linux/lrng.h needs an #include <linux/errno.h> for
>      CONFIG_LRNG_DRNG_SWITCH=n

Thank you, added.
> 
> > +	}
> > +
> > +	lrng_sdrng_reset(&lrng_sdrng_init);
> > +	lrng_cc20_init_state(&secondary_chacha20);
> > +	lrng_state_init_seed_work();
> > +	lrng_sdrng_unlock(&lrng_sdrng_init, &flags);
> > +
> > +	lrng_sdrng_lock(&lrng_sdrng_atomic, &flags);
> > +	lrng_sdrng_reset(&lrng_sdrng_atomic);
> > +	/*
> > +	 * We do not initialize the state of the atomic DRNG as it is identical
> > +	 * to the secondary DRNG at this point.
> > +	 */
> > +	lrng_sdrng_unlock(&lrng_sdrng_atomic, &flags);
> > +
> > +	lrng_trng_init();
> > +
> > +	lrng_set_available();
> > +}
> > +
> > +/* Reset LRNG such that all existing entropy is gone */


Ciao
Stephan



  reply	other threads:[~2019-11-17 11:01 UTC|newest]

Thread overview: 339+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-11 18:17 [PATCH v24 00/12] /dev/random - a new approach with full SP800-90B compliance Stephan Müller
2019-11-11 18:17 ` Stephan Müller
2019-11-11 18:18 ` [PATCH v24 01/12] Linux Random Number Generator Stephan Müller
2019-11-11 18:18   ` Stephan Müller
2019-11-11 23:54   ` Thomas Gleixner
2019-11-11 23:54     ` Thomas Gleixner
2019-11-12  2:25     ` Stephan Müller
2019-11-12  2:25       ` Stephan Müller
2019-11-12 10:16       ` Thomas Gleixner
2019-11-12 10:16         ` Thomas Gleixner
2019-11-12 22:30   ` kbuild test robot
2019-11-12 22:30     ` kbuild test robot
2019-11-12 22:30     ` kbuild test robot
2019-11-12 23:15     ` Stephan Müller
2019-11-12 23:15       ` Stephan Müller
2019-11-12 23:15       ` Stephan Müller
2019-11-13  0:14   ` kbuild test robot
2019-11-13  0:14     ` kbuild test robot
2019-11-13  0:14     ` kbuild test robot
2019-11-13  0:25     ` Stephan Müller
2019-11-13  0:25       ` Stephan Müller
2019-11-13  0:25       ` Stephan Müller
2019-11-24  4:51   ` Sandy Harris
2019-11-24  4:51     ` Sandy Harris
2019-11-24  9:02     ` Stephan Mueller
2019-11-24  9:02       ` Stephan Mueller
2019-11-11 18:19 ` [PATCH v24 02/12] LRNG - allocate one SDRNG instance per NUMA node Stephan Müller
2019-11-11 18:19   ` Stephan Müller
2019-11-11 18:20 ` [PATCH v24 03/12] LRNG - /proc interface Stephan Müller
2019-11-11 18:20   ` Stephan Müller
2019-11-11 18:20 ` [PATCH v24 04/12] LRNG - add switchable DRNG support Stephan Müller
2019-11-11 18:20   ` Stephan Müller
2019-11-11 18:21 ` [PATCH v24 05/12] crypto: DRBG - externalize DRBG functions for LRNG Stephan Müller
2019-11-11 18:21   ` Stephan Müller
2019-11-11 18:21 ` [PATCH v24 06/12] LRNG - add SP800-90A DRBG extension Stephan Müller
2019-11-11 18:21   ` Stephan Müller
2019-11-11 18:22 ` [PATCH v24 07/12] LRNG - add kernel crypto API PRNG extension Stephan Müller
2019-11-11 18:22   ` Stephan Müller
2019-11-11 18:23 ` [PATCH v24 08/12] crypto: provide access to a static Jitter RNG state Stephan Müller
2019-11-11 18:23   ` Stephan Müller
2019-11-11 18:23 ` [PATCH v24 09/12] LRNG - add Jitter RNG fast noise source Stephan Müller
2019-11-11 18:23   ` Stephan Müller
2019-11-11 18:24 ` [PATCH v24 10/12] LRNG - add TRNG support Stephan Müller
2019-11-11 18:24   ` Stephan Müller
2019-11-11 18:26 ` [PATCH v24 11/12] LRNG - add SP800-90B compliant health tests Stephan Müller
2019-11-11 18:26   ` Stephan Müller
2019-11-12 19:58   ` Alexander E. Patrakov
2019-11-12 19:58     ` Alexander E. Patrakov
2019-11-12 23:11     ` Stephan Müller
2019-11-12 23:11       ` Stephan Müller
2019-11-13  0:36     ` Stephan Müller
2019-11-13  0:36       ` Stephan Müller
2019-11-13  6:02       ` Alexander E. Patrakov
2019-11-13  6:02         ` Alexander E. Patrakov
2019-11-14  1:46         ` Stephan Müller
2019-11-14  1:46           ` Stephan Müller
2019-11-11 18:26 ` [PATCH v24 12/12] LRNG - add interface for gathering of raw entropy Stephan Müller
2019-11-11 18:26   ` Stephan Müller
2019-11-12 20:55   ` kbuild test robot
2019-11-12 20:55     ` kbuild test robot
2019-11-12 20:55     ` kbuild test robot
2019-11-12 23:13     ` Stephan Müller
2019-11-12 23:13       ` Stephan Müller
2019-11-12 23:13       ` Stephan Müller
2019-11-12 13:23 ` [PATCH v24 00/12] /dev/random - a new approach with full SP800-90B compliance Florian Weimer
2019-11-12 13:23   ` Florian Weimer
2019-11-12 22:43   ` Stephan Müller
2019-11-12 22:43     ` Stephan Müller
2019-11-12 15:33 ` Andy Lutomirski
2019-11-12 15:33   ` Andy Lutomirski
2019-11-12 23:03   ` Stephan Müller
2019-11-12 23:03     ` Stephan Müller
2019-11-12 23:26     ` Stephan Müller
2019-11-12 23:26       ` Stephan Müller
2019-11-13  4:24   ` Stephan Müller
2019-11-13  4:24     ` Stephan Müller
2019-11-13  4:48     ` Andy Lutomirski
2019-11-13  4:48       ` Andy Lutomirski
2019-11-13 12:16       ` Stephan Müller
2019-11-13 12:16         ` Stephan Müller
2019-11-16  9:32 ` [PATCH v25 00/12] /dev/random - a new approach with full SP800-90B Stephan Müller
2019-11-16  9:32   ` Stephan Müller
2019-11-16  9:33   ` [PATCH v25 01/12] Linux Random Number Generator Stephan Müller
2019-11-16  9:33     ` Stephan Müller
2019-11-16 11:25     ` Thomas Gleixner
2019-11-16 11:25       ` Thomas Gleixner
2019-11-17 10:30       ` Stephan Müller
2019-11-17 10:30         ` Stephan Müller
2019-11-16 18:13     ` Nicolai Stange
2019-11-16 18:13       ` Nicolai Stange
2019-11-17 11:01       ` Stephan Müller [this message]
2019-11-17 11:01         ` Stephan Müller
2019-11-16  9:33   ` [PATCH v25 02/12] LRNG - allocate one SDRNG instance per NUMA node Stephan Müller
2019-11-16  9:33     ` Stephan Müller
2019-11-16  9:34   ` [PATCH v25 03/12] LRNG - /proc interface Stephan Müller
2019-11-16  9:34     ` Stephan Müller
2019-11-16 16:39     ` Andy Lutomirski
2019-11-16 16:39       ` Andy Lutomirski
2019-11-17 12:16       ` Stephan Müller
2019-11-17 12:16         ` Stephan Müller
2019-11-19 10:06         ` Andy Lutomirski
2019-11-19 10:06           ` Andy Lutomirski
2019-11-19 10:55           ` Stephan Mueller
2019-11-19 10:55             ` Stephan Mueller
2019-11-19 17:40             ` Andy Lutomirski
2019-11-19 17:40               ` Andy Lutomirski
2019-11-16 23:36     ` Eric W. Biederman
2019-11-16 23:36       ` Eric W. Biederman
2019-11-17 11:37       ` Stephan Müller
2019-11-17 11:37         ` Stephan Müller
2019-11-16  9:34   ` [PATCH v25 04/12] LRNG - add switchable DRNG support Stephan Müller
2019-11-16  9:34     ` Stephan Müller
2019-11-16  9:35   ` [PATCH v25 05/12] crypto: DRBG - externalize DRBG functions for LRNG Stephan Müller
2019-11-16  9:35     ` Stephan Müller
2019-11-16  9:35   ` [PATCH v25 06/12] LRNG - add SP800-90A DRBG extension Stephan Müller
2019-11-16  9:35     ` Stephan Müller
2019-11-16  9:35   ` [PATCH v25 07/12] LRNG - add kernel crypto API PRNG extension Stephan Müller
2019-11-16  9:35     ` Stephan Müller
2019-11-16  9:36   ` [PATCH v25 08/12] crypto: provide access to a static Jitter RNG state Stephan Müller
2019-11-16  9:36     ` Stephan Müller
2019-11-16  9:36   ` [PATCH v25 09/12] LRNG - add Jitter RNG fast noise source Stephan Müller
2019-11-16  9:36     ` Stephan Müller
2019-11-20 13:33     ` Neil Horman
2019-11-20 13:33       ` Neil Horman
2019-11-20 20:07       ` Stephan Müller
2019-11-20 20:07         ` Stephan Müller
2019-11-21 14:19         ` Neil Horman
2019-11-21 14:19           ` Neil Horman
2019-11-21 14:33           ` Stephan Mueller
2019-11-21 14:33             ` Stephan Mueller
2019-11-16  9:37   ` [PATCH v25 10/12] LRNG - add TRNG support Stephan Müller
2019-11-16  9:37     ` Stephan Müller
2019-11-16 16:09     ` Andy Lutomirski
2019-11-16 16:09       ` Andy Lutomirski
2019-11-17 11:10       ` Stephan Müller
2019-11-17 11:10         ` Stephan Müller
2019-11-19 10:07         ` Andy Lutomirski
2019-11-19 10:07           ` Andy Lutomirski
2019-11-19 10:46           ` Stephan Mueller
2019-11-19 10:46             ` Stephan Mueller
2019-11-19 12:41           ` Greg Kroah-Hartman
2019-11-19 12:41             ` Greg Kroah-Hartman
2019-11-20  8:58             ` Stephan Müller
2019-11-20  8:58               ` Stephan Müller
2019-11-20  9:55               ` Alexander E. Patrakov
2019-11-20  9:55                 ` Alexander E. Patrakov
2019-11-20 13:29               ` Greg Kroah-Hartman
2019-11-20 13:29                 ` Greg Kroah-Hartman
2019-11-20 19:51                 ` Stephan Müller
2019-11-20 19:51                   ` Stephan Müller
2019-11-20 19:57                   ` Alexander E. Patrakov
2019-11-20 19:57                     ` Alexander E. Patrakov
2019-11-20 20:32                   ` Greg Kroah-Hartman
2019-11-20 20:32                     ` Greg Kroah-Hartman
2019-11-21 13:06                     ` Stephan Müller
2019-11-21 13:06                       ` Stephan Müller
2019-11-16  9:37   ` [PATCH v25 11/12] LRNG - add SP800-90B compliant health tests Stephan Müller
2019-11-16  9:37     ` Stephan Müller
2019-11-16  9:38   ` [PATCH v25 12/12] LRNG - add interface for gathering of raw entropy Stephan Müller
2019-11-16  9:38     ` Stephan Müller
2019-11-16 16:51     ` Andy Lutomirski
2019-11-16 16:51       ` Andy Lutomirski
2019-11-17 22:55       ` Stephan Müller
2019-11-17 22:55         ` Stephan Müller
2019-11-19 10:04         ` Andy Lutomirski
2019-11-19 10:04           ` Andy Lutomirski
2019-11-19 17:17     ` Randy Dunlap
2019-11-19 17:17       ` Randy Dunlap
2019-11-20  9:01       ` Stephan Müller
2019-11-20  9:01         ` Stephan Müller
2019-11-21 12:18     ` Nicolai Stange
2019-11-21 12:18       ` Nicolai Stange
2019-11-21 15:18       ` Stephan Müller
2019-11-21 15:18         ` Stephan Müller
2019-11-23 20:08   ` [PATCH v26 00/12] /dev/random - a new approach with full SP800-90B Stephan Müller
2019-11-23 20:08     ` Stephan Müller
2019-11-23 20:10     ` [PATCH v26 01/12] Linux Random Number Generator Stephan Müller
2019-11-23 20:10       ` Stephan Müller
2019-11-24 22:44       ` kbuild test robot
2019-11-24 22:44         ` kbuild test robot
2019-11-24 22:44         ` kbuild test robot
2019-11-25  6:29         ` Stephan Mueller
2019-11-25  6:29           ` Stephan Mueller
2019-11-25  6:29           ` Stephan Mueller
2019-11-23 20:10     ` [PATCH v26 02/12] LRNG - allocate one SDRNG instance per NUMA node Stephan Müller
2019-11-23 20:10       ` Stephan Müller
2019-11-23 20:11     ` [PATCH v26 03/12] LRNG - sysctls and /proc interface Stephan Müller
2019-11-23 20:11       ` Stephan Müller
2019-11-23 20:11     ` [PATCH v26 04/12] LRNG - add switchable DRNG support Stephan Müller
2019-11-23 20:11       ` Stephan Müller
2019-11-23 20:31     ` [PATCH v26 05/12] crypto: DRBG - externalize DRBG functions for LRNG Stephan Müller
2019-11-23 20:31       ` Stephan Müller
2019-11-23 20:32     ` [PATCH v26 06/12] LRNG - add SP800-90A DRBG extension Stephan Müller
2019-11-23 20:32       ` Stephan Müller
2019-11-23 20:32     ` [PATCH v26 07/12] LRNG - add kernel crypto API PRNG extension Stephan Müller
2019-11-23 20:32       ` Stephan Müller
2019-11-23 20:33     ` [PATCH v26 08/12] crypto: provide access to a static Jitter RNG state Stephan Müller
2019-11-23 20:33       ` Stephan Müller
2019-11-23 20:34     ` [PATCH v26 09/12] LRNG - add Jitter RNG fast noise source Stephan Müller
2019-11-23 20:34       ` Stephan Müller
2019-11-23 20:34     ` [PATCH v26 10/12] LRNG - add TRNG support Stephan Müller
2019-11-23 20:34       ` Stephan Müller
2019-11-23 20:34     ` [PATCH v26 11/12] LRNG - add SP800-90B compliant health tests Stephan Müller
2019-11-23 20:34       ` Stephan Müller
2019-11-23 20:35     ` [PATCH v26 12/12] LRNG - add interface for gathering of raw entropy Stephan Müller
2019-11-23 20:35       ` Stephan Müller
2020-01-09  8:29     ` [PATCH v27 00/12] /dev/random - a new approach with full SP800-90B Stephan Müller
2020-01-09  8:29       ` Stephan Müller
2020-01-09  8:30       ` [PATCH v27 01/12] Linux Random Number Generator Stephan Müller
2020-01-09  8:30         ` Stephan Müller
2020-01-16  6:09         ` kbuild test robot
2020-01-16  6:09           ` kbuild test robot
2020-01-16  6:09           ` kbuild test robot
     [not found]           ` <202001161241.meGVaLli%lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2020-01-16  6:41             ` Stephan Mueller
2020-01-16  6:41               ` Stephan Mueller
2020-01-16  6:41               ` Stephan Mueller
2020-01-09  8:31       ` [PATCH v27 02/12] LRNG - allocate one DRNG instance per NUMA node Stephan Müller
2020-01-09  8:31         ` Stephan Müller
2020-01-09  8:31       ` [PATCH v27 03/12] LRNG - sysctls and /proc interface Stephan Müller
2020-01-09  8:31         ` Stephan Müller
2020-01-09  8:32       ` [PATCH v27 04/12] LRNG - add switchable DRNG support Stephan Müller
2020-01-09  8:32         ` Stephan Müller
2020-01-11  7:09         ` kbuild test robot
2020-01-11  7:09           ` kbuild test robot
2020-01-11  7:09           ` kbuild test robot
2020-01-12 10:12           ` Stephan Müller
2020-01-12 10:12             ` Stephan Müller
2020-01-12 10:12             ` Stephan Müller
2020-01-09  8:32       ` [PATCH v27 05/12] crypto: DRBG - externalize DRBG functions for LRNG Stephan Müller
2020-01-09  8:32         ` Stephan Müller
2020-01-09  8:32       ` [PATCH v27 06/12] LRNG - add SP800-90A DRBG extension Stephan Müller
2020-01-09  8:32         ` Stephan Müller
2020-01-09  8:33       ` [PATCH v27 07/12] LRNG - add kernel crypto API PRNG extension Stephan Müller
2020-01-09  8:33         ` Stephan Müller
2020-01-09  8:33       ` [PATCH v27 08/12] crypto: provide access to a static Jitter RNG state Stephan Müller
2020-01-09  8:33         ` Stephan Müller
2020-01-09  8:34       ` [PATCH v27 09/12] LRNG - add Jitter RNG fast noise source Stephan Müller
2020-01-09  8:34         ` Stephan Müller
2020-01-10  0:24         ` Randy Dunlap
2020-01-10  0:24           ` Randy Dunlap
2020-01-10  7:45           ` Stephan Mueller
2020-01-10  7:45             ` Stephan Mueller
2020-01-09  8:34       ` [PATCH v27 10/12] LRNG - add SP800-90B compliant health tests Stephan Müller
2020-01-09  8:34         ` Stephan Müller
2020-01-10  0:20         ` Randy Dunlap
2020-01-10  0:20           ` Randy Dunlap
     [not found]           ` <cd9e893a-ce63-4e9a-fc19-553b1c5f1cff-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2020-01-10  8:27             ` Stephan Mueller
2020-01-10  8:27               ` Stephan Mueller
2020-01-09  8:35       ` [PATCH v27 11/12] LRNG - add interface for gathering of raw entropy Stephan Müller
2020-01-09  8:35         ` Stephan Müller
2020-01-09  8:35       ` [PATCH v27 12/12] LRNG - add power-on and runtime self-tests Stephan Müller
2020-01-09  8:35         ` Stephan Müller
2020-01-10  0:22         ` Randy Dunlap
2020-01-10  0:22           ` Randy Dunlap
2020-01-10  7:48           ` Stephan Mueller
2020-01-10  7:48             ` Stephan Mueller
2020-01-13 10:39         ` Dan Carpenter
2020-01-13 10:39           ` Dan Carpenter
2020-01-13 10:39           ` Dan Carpenter
2020-01-13 10:39           ` Dan Carpenter
2020-01-13 10:46           ` Stephan Mueller
2020-01-13 10:46             ` Stephan Mueller
2020-01-13 10:46             ` Stephan Mueller
2020-01-15 10:31       ` [PATCH v28 00/12] /dev/random - a new approach with full SP800-90B Stephan Müller
2020-01-15 10:31         ` Stephan Müller
2020-01-15 10:32         ` [PATCH v28 03/12] LRNG - sysctls and /proc interface Stephan Müller
2020-01-15 10:32           ` Stephan Müller
2020-01-15 10:33         ` [PATCH v28 05/12] crypto: DRBG - externalize DRBG functions for LRNG Stephan Müller
2020-01-15 10:33           ` Stephan Müller
2020-01-15 10:33         ` [PATCH v28 06/12] LRNG - add SP800-90A DRBG extension Stephan Müller
2020-01-15 10:33           ` Stephan Müller
2020-01-16  0:14           ` Randy Dunlap
2020-01-16  0:14             ` Randy Dunlap
2020-01-16  6:55             ` Stephan Mueller
2020-01-16  6:55               ` Stephan Mueller
2020-01-15 10:34         ` [PATCH v28 07/12] LRNG - add kernel crypto API PRNG extension Stephan Müller
2020-01-15 10:34           ` Stephan Müller
2020-01-16  0:15           ` Randy Dunlap
2020-01-16  0:15             ` Randy Dunlap
2020-01-16  6:54             ` Stephan Mueller
2020-01-16  6:54               ` Stephan Mueller
     [not found]         ` <5951792.lmNsirYsPE-jJGQKZiSfeo1haGO/jJMPxvVK+yQ3ZXh@public.gmane.org>
2020-01-15 10:31           ` [PATCH v28 01/12] Linux Random Number Generator Stephan Müller
2020-01-15 10:31             ` Stephan Müller
2020-01-16  0:11             ` Randy Dunlap
2020-01-16  0:11               ` Randy Dunlap
     [not found]               ` <3a8d5d2d-d54f-cf18-0c93-dbe8cd91ed12-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2020-01-16  7:22                 ` Stephan Mueller
2020-01-16  7:22                   ` Stephan Mueller
2020-01-15 10:32           ` [PATCH v28 02/12] LRNG - allocate one DRNG instance per NUMA node Stephan Müller
2020-01-15 10:32             ` Stephan Müller
2020-01-15 10:32           ` [PATCH v28 04/12] LRNG - add switchable DRNG support Stephan Müller
2020-01-15 10:32             ` Stephan Müller
2020-01-15 10:34           ` [PATCH v28 08/12] crypto: provide access to a static Jitter RNG state Stephan Müller
2020-01-15 10:34             ` Stephan Müller
2020-01-15 10:34         ` [PATCH v28 09/12] LRNG - add Jitter RNG fast noise source Stephan Müller
2020-01-15 10:34           ` Stephan Müller
2020-01-16  0:17           ` Randy Dunlap
2020-01-16  0:17             ` Randy Dunlap
2020-01-16  6:51             ` Stephan Mueller
2020-01-16  6:51               ` Stephan Mueller
2020-01-15 10:35         ` [PATCH v28 10/12] LRNG - add SP800-90B compliant health tests Stephan Müller
2020-01-15 10:35           ` Stephan Müller
2020-01-15 10:35         ` [PATCH v28 11/12] LRNG - add interface for gathering of raw entropy Stephan Müller
2020-01-15 10:35           ` Stephan Müller
2020-01-16  0:18           ` Randy Dunlap
2020-01-16  0:18             ` Randy Dunlap
2020-01-16  6:43             ` Stephan Mueller
2020-01-16  6:43               ` Stephan Mueller
2020-01-16  6:48               ` Randy Dunlap
2020-01-16  6:48                 ` Randy Dunlap
2020-01-16  6:52                 ` Stephan Mueller
2020-01-16  6:52                   ` Stephan Mueller
2020-01-15 10:36         ` [PATCH v28 12/12] LRNG - add power-on and runtime self-tests Stephan Müller
2020-01-15 10:36           ` Stephan Müller
2020-01-19 21:12         ` [PATCH v29 00/12] /dev/random - a new approach with full SP800-90B Stephan Müller
2020-01-19 21:12           ` Stephan Müller
2020-01-19 21:13           ` [PATCH v29 01/12] Linux Random Number Generator Stephan Müller
2020-01-19 21:13             ` Stephan Müller
2020-01-19 21:13           ` [PATCH v29 02/12] LRNG - allocate one DRNG instance per NUMA node Stephan Müller
2020-01-19 21:13             ` Stephan Müller
2020-01-19 21:14           ` [PATCH v29 03/12] LRNG - sysctls and /proc interface Stephan Müller
2020-01-19 21:14             ` Stephan Müller
2020-01-19 21:14           ` [PATCH v29 04/12] LRNG - add switchable DRNG support Stephan Müller
2020-01-19 21:14             ` Stephan Müller
2020-01-19 21:15           ` [PATCH v29 05/12] crypto: DRBG - externalize DRBG functions for LRNG Stephan Müller
2020-01-19 21:15             ` Stephan Müller
2020-01-19 21:17           ` [PATCH v29 08/12] crypto: provide access to a static Jitter RNG state Stephan Müller
2020-01-19 21:17             ` Stephan Müller
2020-01-19 21:18           ` [PATCH v29 10/12] LRNG - add SP800-90B compliant health tests Stephan Müller
2020-01-19 21:18             ` Stephan Müller
     [not found]           ` <1967138.dxe05VgvIB-jJGQKZiSfeo1haGO/jJMPxvVK+yQ3ZXh@public.gmane.org>
2020-01-19 21:16             ` [PATCH v29 06/12] LRNG - add SP800-90A DRBG extension Stephan Müller
2020-01-19 21:16               ` Stephan Müller
2020-01-19 21:16             ` [PATCH v29 07/12] LRNG - add kernel crypto API PRNG extension Stephan Müller
2020-01-19 21:16               ` Stephan Müller
2020-01-19 21:18             ` [PATCH v29 09/12] LRNG - add Jitter RNG fast noise source Stephan Müller
2020-01-19 21:18               ` Stephan Müller
2020-01-19 21:19             ` [PATCH v29 11/12] LRNG - add interface for gathering of raw entropy Stephan Müller
2020-01-19 21:19               ` Stephan Müller
2020-01-19 21:20           ` [PATCH v29 12/12] LRNG - add power-on and runtime self-tests Stephan Müller
2020-01-19 21:20             ` Stephan Müller

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=4567011.rgkcMjRUIa@positron.chronox.de \
    --to=smueller@chronox.de \
    --cc=adilger.kernel@dilger.ca \
    --cc=arnd@arndb.de \
    --cc=darwish.07@gmail.com \
    --cc=ebiederm@xmission.com \
    --cc=fweimer@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jack@suse.cz \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mccann@jhu.edu \
    --cc=mjg59@srcf.ucam.org \
    --cc=mzxreary@0pointer.de \
    --cc=nstange@suse.de \
    --cc=patrakov@gmail.com \
    --cc=rstrode@redhat.com \
    --cc=tytso@mit.edu \
    --cc=vcaputo@pengaru.com \
    --cc=w@1wt.eu \
    --cc=zachary@baishancloud.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.