From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 14 Apr 2022 11:12:27 +0100 From: "Russell King (Oracle)" Subject: Re: [PATCH v4 01/11] timekeeping: add raw clock fallback for random_get_entropy() Message-ID: References: <20220413115411.21489-1-Jason@zx2c4.com> <20220413115411.21489-2-Jason@zx2c4.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220413115411.21489-2-Jason@zx2c4.com> Sender: Russell King (Oracle) To: "Jason A. Donenfeld" Cc: linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, tglx@linutronix.de, arnd@arndb.de, Theodore Ts'o , Dominik Brodowski , Catalin Marinas , Will Deacon , Geert Uytterhoeven , Thomas Bogendoerfer , Paul Walmsley , Palmer Dabbelt , Albert Ou , "David S . Miller" , Richard Weinberger , Anton Ivanov , Johannes Berg , Ingo Molnar , Borislav Petkov , Dave Hansen , "H . Peter Anvin" , Chris Zankel , Max Filippov , John Stultz , Stephen Boyd , Dinh Nguyen , linux-arm-kernel@lists.infradead.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-riscv@lists.infradead.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, x86@kernel.org, linux-xtensa@linux-xtensa.org List-ID: On Wed, Apr 13, 2022 at 01:54:01PM +0200, Jason A. Donenfeld wrote: > The addition of random_get_entropy_fallback() provides access to > whichever time source has the highest frequency, which is useful for > gathering entropy on platforms without available cycle counters. It's > not necessarily as good as being able to quickly access a cycle counter > that the CPU has, but it's still something, even when it falls back to > being jiffies-based. > > In the event that a given arch does not define get_cycles(), falling > back to the get_cycles() default implementation that returns 0 is really > not the best we can do. Instead, at least calling > random_get_entropy_fallback() would be preferable, because that always > needs to return _something_, even falling back to jiffies eventually. > It's not as though random_get_entropy_fallback() is super high precision > or guaranteed to be entropic, but basically anything that's not zero all > the time is better than returning zero all the time. > > Cc: Thomas Gleixner > Cc: Arnd Bergmann > Cc: Theodore Ts'o > Signed-off-by: Jason A. Donenfeld > --- > include/linux/timex.h | 8 ++++++++ > kernel/time/timekeeping.c | 10 ++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/include/linux/timex.h b/include/linux/timex.h > index 5745c90c8800..fbbe34226044 100644 > --- a/include/linux/timex.h > +++ b/include/linux/timex.h > @@ -62,6 +62,8 @@ > #include > #include > > +extern unsigned long random_get_entropy_fallback(void); Hi I'm surprised this didn't trigger checkpatch to warn. From coding-style: 6.1) Function prototypes Do not use the ``extern`` keyword with function declarations as this makes lines longer and isn't strictly necessary. Thanks! -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!