All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: Borislav Petkov <bp@alien8.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Arnd Bergmann <arnd@arndb.de>, "Theodore Ts'o" <tytso@mit.edu>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	"David S . Miller" <davem@davemloft.net>,
	Richard Weinberger <richard@nod.at>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Chris Zankel <chris@zankel.net>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-m68k <linux-m68k@lists.linux-m68k.org>,
	"open list:BROADCOM NVRAM DRIVER" <linux-mips@vger.kernel.org>,
	linux-riscv <linux-riscv@lists.infradead.org>,
	sparclinux <sparclinux@vger.kernel.org>,
	linux-um@lists.infradead.org, X86 ML <x86@kernel.org>,
	linux-xtensa@linux-xtensa.org
Subject: Re: [PATCH v5 07/11] x86: use fallback for random_get_entropy() instead of zero
Date: Tue, 19 Apr 2022 20:38:41 +0200	[thread overview]
Message-ID: <CAHmME9q03Je-ROzzHCgZC0vy1n=y8bsGBOAs8U_K_r3ebLNHbw@mail.gmail.com> (raw)
In-Reply-To: <Yl78gLLcSb3EHv0B@zn.tnic>

Hi Borislav,

On Tue, Apr 19, 2022 at 8:16 PM Borislav Petkov <bp@alien8.de> wrote:
> > +static inline unsigned long random_get_entropy(void)
> > +{
> > +#ifndef CONFIG_X86_TSC
> > +     if (!boot_cpu_has(X86_FEATURE_TSC))
>
> cpu_feature_enabled() pls.

This function began as a carbon copy of get_cycles(), which reads:

static inline cycles_t get_cycles(void)
{
#ifndef CONFIG_X86_TSC
       if (!boot_cpu_has(X86_FEATURE_TSC))
               return 0;
#endif

       return rdtsc();
}

As you see, random_get_entropy() is the same function, but with that
zero replaced with the fallback. (Using the fallback in get_cycles()
wouldn't be appropriate.)

So, your options are:
a) We keep this patch as-is, using boot_cpu_has(); or
b) I make an unrelated change inside of this same patch to change
get_cycles() to use cpu_feature_enabled() (in addition to the new
random_get_entropy()).

I think I prefer doing (a), and leaving (b) for another time when you
or another x86 maintainer can do so. But I'll do whichever you say.
Which would you like?

Jason

WARNING: multiple messages have this Message-ID (diff)
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: Borislav Petkov <bp@alien8.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	 Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	 Arnd Bergmann <arnd@arndb.de>, "Theodore Ts'o" <tytso@mit.edu>,
	 Dominik Brodowski <linux@dominikbrodowski.net>,
	Russell King <linux@armlinux.org.uk>,
	 Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	 Geert Uytterhoeven <geert@linux-m68k.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	 Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	 Albert Ou <aou@eecs.berkeley.edu>,
	"David S . Miller" <davem@davemloft.net>,
	 Richard Weinberger <richard@nod.at>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	 Johannes Berg <johannes@sipsolutions.net>,
	Ingo Molnar <mingo@redhat.com>,
	 Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	 Chris Zankel <chris@zankel.net>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	 linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	 linux-m68k <linux-m68k@lists.linux-m68k.org>,
	 "open list:BROADCOM NVRAM DRIVER" <linux-mips@vger.kernel.org>,
	linux-riscv <linux-riscv@lists.infradead.org>,
	 sparclinux <sparclinux@vger.kernel.org>,
	linux-um@lists.infradead.org,  X86 ML <x86@kernel.org>,
	linux-xtensa@linux-xtensa.org
Subject: Re: [PATCH v5 07/11] x86: use fallback for random_get_entropy() instead of zero
Date: Tue, 19 Apr 2022 20:38:41 +0200	[thread overview]
Message-ID: <CAHmME9q03Je-ROzzHCgZC0vy1n=y8bsGBOAs8U_K_r3ebLNHbw@mail.gmail.com> (raw)
In-Reply-To: <Yl78gLLcSb3EHv0B@zn.tnic>

Hi Borislav,

On Tue, Apr 19, 2022 at 8:16 PM Borislav Petkov <bp@alien8.de> wrote:
> > +static inline unsigned long random_get_entropy(void)
> > +{
> > +#ifndef CONFIG_X86_TSC
> > +     if (!boot_cpu_has(X86_FEATURE_TSC))
>
> cpu_feature_enabled() pls.

This function began as a carbon copy of get_cycles(), which reads:

static inline cycles_t get_cycles(void)
{
#ifndef CONFIG_X86_TSC
       if (!boot_cpu_has(X86_FEATURE_TSC))
               return 0;
#endif

       return rdtsc();
}

As you see, random_get_entropy() is the same function, but with that
zero replaced with the fallback. (Using the fallback in get_cycles()
wouldn't be appropriate.)

So, your options are:
a) We keep this patch as-is, using boot_cpu_has(); or
b) I make an unrelated change inside of this same patch to change
get_cycles() to use cpu_feature_enabled() (in addition to the new
random_get_entropy()).

I think I prefer doing (a), and leaving (b) for another time when you
or another x86 maintainer can do so. But I'll do whichever you say.
Which would you like?

Jason

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: Borislav Petkov <bp@alien8.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	 Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	 Arnd Bergmann <arnd@arndb.de>, "Theodore Ts'o" <tytso@mit.edu>,
	 Dominik Brodowski <linux@dominikbrodowski.net>,
	Russell King <linux@armlinux.org.uk>,
	 Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	 Geert Uytterhoeven <geert@linux-m68k.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	 Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	 Albert Ou <aou@eecs.berkeley.edu>,
	"David S . Miller" <davem@davemloft.net>,
	 Richard Weinberger <richard@nod.at>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	 Johannes Berg <johannes@sipsolutions.net>,
	Ingo Molnar <mingo@redhat.com>,
	 Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	 Chris Zankel <chris@zankel.net>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	 linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	 linux-m68k <linux-m68k@lists.linux-m68k.org>,
	 "open list:BROADCOM NVRAM DRIVER" <linux-mips@vger.kernel.org>,
	linux-riscv <linux-riscv@lists.infradead.org>,
	 sparclinux <sparclinux@vger.kernel.org>,
	linux-um@lists.infradead.org,  X86 ML <x86@kernel.org>,
	linux-xtensa@linux-xtensa.org
Subject: Re: [PATCH v5 07/11] x86: use fallback for random_get_entropy() instead of zero
Date: Tue, 19 Apr 2022 20:38:41 +0200	[thread overview]
Message-ID: <CAHmME9q03Je-ROzzHCgZC0vy1n=y8bsGBOAs8U_K_r3ebLNHbw@mail.gmail.com> (raw)
In-Reply-To: <Yl78gLLcSb3EHv0B@zn.tnic>

Hi Borislav,

On Tue, Apr 19, 2022 at 8:16 PM Borislav Petkov <bp@alien8.de> wrote:
> > +static inline unsigned long random_get_entropy(void)
> > +{
> > +#ifndef CONFIG_X86_TSC
> > +     if (!boot_cpu_has(X86_FEATURE_TSC))
>
> cpu_feature_enabled() pls.

This function began as a carbon copy of get_cycles(), which reads:

static inline cycles_t get_cycles(void)
{
#ifndef CONFIG_X86_TSC
       if (!boot_cpu_has(X86_FEATURE_TSC))
               return 0;
#endif

       return rdtsc();
}

As you see, random_get_entropy() is the same function, but with that
zero replaced with the fallback. (Using the fallback in get_cycles()
wouldn't be appropriate.)

So, your options are:
a) We keep this patch as-is, using boot_cpu_has(); or
b) I make an unrelated change inside of this same patch to change
get_cycles() to use cpu_feature_enabled() (in addition to the new
random_get_entropy()).

I think I prefer doing (a), and leaving (b) for another time when you
or another x86 maintainer can do so. But I'll do whichever you say.
Which would you like?

Jason

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-04-19 18:39 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-19 11:16 [PATCH v5 00/11] archs/random: fallback to best raw ktime when no cycle counter Jason A. Donenfeld
2022-04-19 11:16 ` Jason A. Donenfeld
2022-04-19 11:16 ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 01/11] timekeeping: add raw clock fallback for random_get_entropy() Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 02/11] m68k: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 03/11] riscv: " Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 04/11] mips: use fallback for random_get_entropy() instead of just c0 random Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-21 19:25   ` Maciej W. Rozycki
2022-04-21 19:25     ` Maciej W. Rozycki
2022-04-21 19:25     ` Maciej W. Rozycki
2022-04-21 20:01     ` Jason A. Donenfeld
2022-04-21 20:01       ` Jason A. Donenfeld
2022-04-21 20:01       ` Jason A. Donenfeld
2022-04-21 21:05   ` Thomas Bogendoerfer
2022-04-21 21:05     ` Thomas Bogendoerfer
2022-04-21 21:05     ` Thomas Bogendoerfer
2022-04-19 11:16 ` [PATCH v5 05/11] arm: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 06/11] nios2: " Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-05-02 21:01   ` Dinh Nguyen
2022-05-02 21:01     ` Dinh Nguyen
2022-05-02 21:01     ` Dinh Nguyen
2022-04-19 11:16 ` [PATCH v5 07/11] x86: " Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 18:16   ` Borislav Petkov
2022-04-19 18:16     ` Borislav Petkov
2022-04-19 18:16     ` Borislav Petkov
2022-04-19 18:38     ` Jason A. Donenfeld [this message]
2022-04-19 18:38       ` Jason A. Donenfeld
2022-04-19 18:38       ` Jason A. Donenfeld
2022-04-19 18:59       ` Borislav Petkov
2022-04-19 18:59         ` Borislav Petkov
2022-04-19 18:59         ` Borislav Petkov
2022-04-19 19:00         ` Jason A. Donenfeld
2022-04-19 19:00           ` Jason A. Donenfeld
2022-04-19 19:00           ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 08/11] um: " Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:33   ` Johannes Berg
2022-04-19 11:33     ` Johannes Berg
2022-04-19 11:33     ` Johannes Berg
2022-04-19 11:37     ` Jason A. Donenfeld
2022-04-19 11:37       ` Jason A. Donenfeld
2022-04-19 11:37       ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 09/11] sparc: " Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16 ` [PATCH v5 10/11] xtensa: " Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-21  8:00   ` Max Filippov
2022-04-21  8:00     ` Max Filippov
2022-04-21  8:00     ` Max Filippov
2022-04-19 11:16 ` [PATCH v5 11/11] random: insist on random_get_entropy() existing in order to simplify Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-19 11:16   ` Jason A. Donenfeld
2022-04-23  2:24   ` Sandy Harris
2022-04-23  2:24     ` Sandy Harris
2022-04-23  2:24     ` Sandy Harris
2022-04-23 10:00     ` Jason A. Donenfeld
2022-04-23 10:00       ` Jason A. Donenfeld
2022-04-23 10:00       ` Jason A. Donenfeld

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='CAHmME9q03Je-ROzzHCgZC0vy1n=y8bsGBOAs8U_K_r3ebLNHbw@mail.gmail.com' \
    --to=jason@zx2c4.com \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=chris@zankel.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=dinguyen@kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=hpa@zytor.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@dominikbrodowski.net \
    --cc=mingo@redhat.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=richard@nod.at \
    --cc=sboyd@kernel.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tsbogend@alpha.franken.de \
    --cc=tytso@mit.edu \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /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.