All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Heiko Carstens <hca@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH] random: remove CONFIG_ARCH_RANDOM and "nordrand"
Date: Tue, 5 Jul 2022 21:57:04 +0200	[thread overview]
Message-ID: <YsSXkNBtB6Ciy9iN@zn.tnic> (raw)
In-Reply-To: <YsSUkapje04MP2a1@zx2c4.com>

On Tue, Jul 05, 2022 at 09:44:17PM +0200, Jason A. Donenfeld wrote:
> Oh, huh. Maybe in that case I should adjust the message to say "consider
> using `random.trust_cpu=0`," which is the thing that would actually make
> a security difference.

Why isn't that option documented in
Documentation/admin-guide/kernel-parameters.txt?

> But actually, one thing that wasn't clear to me was: does `nordrand`
> affect what userspace sees? While random.c is okay in lots of
> circumstances, I could imagine `nordrand` playing a role in preventing
> userspace from using it, which might be desirable. Is this the case? If
> so, I can remove the nordrand chunk from this patch for v2. If not, I'll
> adjust the text to mention `random.trust_cpu=0`.

Unfortunately, it doesn't disable the instruction. It would be lovely if
we had a switch like that...

That's why this message is supposed to be noisy so that people can pay
attention at least.

> In the sense that random.c can handle mostly any input without making
> the quality worse. So, you can't accidentally taint it. The only risk is
> if it thinks RDRAND is good and trustable when it isn't, but that's what
> `random.trust_cpu=0` is for.

And that's why I'm saying that if you detect RDRAND returning the
same thing over and over again, you should simply stop using it.
Automatically. Not rely on the user to do anything.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

WARNING: multiple messages have this Message-ID (diff)
From: Borislav Petkov <bp@alien8.de>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: linux-s390@vger.kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
	Arnd Bergmann <arnd@arndb.de>, Will Deacon <will@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	linuxppc-dev@lists.ozlabs.org,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] random: remove CONFIG_ARCH_RANDOM and "nordrand"
Date: Tue, 5 Jul 2022 21:57:04 +0200	[thread overview]
Message-ID: <YsSXkNBtB6Ciy9iN@zn.tnic> (raw)
In-Reply-To: <YsSUkapje04MP2a1@zx2c4.com>

On Tue, Jul 05, 2022 at 09:44:17PM +0200, Jason A. Donenfeld wrote:
> Oh, huh. Maybe in that case I should adjust the message to say "consider
> using `random.trust_cpu=0`," which is the thing that would actually make
> a security difference.

Why isn't that option documented in
Documentation/admin-guide/kernel-parameters.txt?

> But actually, one thing that wasn't clear to me was: does `nordrand`
> affect what userspace sees? While random.c is okay in lots of
> circumstances, I could imagine `nordrand` playing a role in preventing
> userspace from using it, which might be desirable. Is this the case? If
> so, I can remove the nordrand chunk from this patch for v2. If not, I'll
> adjust the text to mention `random.trust_cpu=0`.

Unfortunately, it doesn't disable the instruction. It would be lovely if
we had a switch like that...

That's why this message is supposed to be noisy so that people can pay
attention at least.

> In the sense that random.c can handle mostly any input without making
> the quality worse. So, you can't accidentally taint it. The only risk is
> if it thinks RDRAND is good and trustable when it isn't, but that's what
> `random.trust_cpu=0` is for.

And that's why I'm saying that if you detect RDRAND returning the
same thing over and over again, you should simply stop using it.
Automatically. Not rely on the user to do anything.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

WARNING: multiple messages have this Message-ID (diff)
From: Borislav Petkov <bp@alien8.de>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Heiko Carstens <hca@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH] random: remove CONFIG_ARCH_RANDOM and "nordrand"
Date: Tue, 5 Jul 2022 21:57:04 +0200	[thread overview]
Message-ID: <YsSXkNBtB6Ciy9iN@zn.tnic> (raw)
In-Reply-To: <YsSUkapje04MP2a1@zx2c4.com>

On Tue, Jul 05, 2022 at 09:44:17PM +0200, Jason A. Donenfeld wrote:
> Oh, huh. Maybe in that case I should adjust the message to say "consider
> using `random.trust_cpu=0`," which is the thing that would actually make
> a security difference.

Why isn't that option documented in
Documentation/admin-guide/kernel-parameters.txt?

> But actually, one thing that wasn't clear to me was: does `nordrand`
> affect what userspace sees? While random.c is okay in lots of
> circumstances, I could imagine `nordrand` playing a role in preventing
> userspace from using it, which might be desirable. Is this the case? If
> so, I can remove the nordrand chunk from this patch for v2. If not, I'll
> adjust the text to mention `random.trust_cpu=0`.

Unfortunately, it doesn't disable the instruction. It would be lovely if
we had a switch like that...

That's why this message is supposed to be noisy so that people can pay
attention at least.

> In the sense that random.c can handle mostly any input without making
> the quality worse. So, you can't accidentally taint it. The only risk is
> if it thinks RDRAND is good and trustable when it isn't, but that's what
> `random.trust_cpu=0` is for.

And that's why I'm saying that if you detect RDRAND returning the
same thing over and over again, you should simply stop using it.
Automatically. Not rely on the user to do anything.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

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

  reply	other threads:[~2022-07-05 19:57 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-05 19:01 [PATCH] random: remove CONFIG_ARCH_RANDOM and "nordrand" Jason A. Donenfeld
2022-07-05 19:01 ` Jason A. Donenfeld
2022-07-05 19:01 ` Jason A. Donenfeld
2022-07-05 19:36 ` Borislav Petkov
2022-07-05 19:36   ` Borislav Petkov
2022-07-05 19:36   ` Borislav Petkov
2022-07-05 19:44   ` Jason A. Donenfeld
2022-07-05 19:44     ` Jason A. Donenfeld
2022-07-05 19:44     ` Jason A. Donenfeld
2022-07-05 19:57     ` Borislav Petkov [this message]
2022-07-05 19:57       ` Borislav Petkov
2022-07-05 19:57       ` Borislav Petkov
2022-07-05 21:50       ` H. Peter Anvin
2022-07-05 21:50         ` H. Peter Anvin
2022-07-05 21:50         ` H. Peter Anvin
2022-07-05 22:00         ` Borislav Petkov
2022-07-05 22:00           ` Borislav Petkov
2022-07-05 22:00           ` Borislav Petkov
2022-07-05 23:11           ` H. Peter Anvin
2022-07-05 23:11             ` H. Peter Anvin
2022-07-05 23:11             ` H. Peter Anvin
2022-07-06 12:23             ` Borislav Petkov
2022-07-06 12:23               ` Borislav Petkov
2022-07-06 12:23               ` Borislav Petkov
2022-07-06 16:42               ` H. Peter Anvin
2022-07-06 16:42                 ` H. Peter Anvin
2022-07-06 16:42                 ` H. Peter Anvin
2022-07-06  0:28         ` Jason A. Donenfeld
2022-07-06  0:28           ` Jason A. Donenfeld
2022-07-06  0:28           ` Jason A. Donenfeld
2022-07-06  0:32           ` [PATCH v2] random: remove CONFIG_ARCH_RANDOM Jason A. Donenfeld
2022-07-06  0:32             ` Jason A. Donenfeld
2022-07-06  6:41             ` Greg Kroah-Hartman
2022-07-06  6:41               ` Greg Kroah-Hartman
2022-07-06  6:41               ` Greg Kroah-Hartman
2022-07-06  8:40             ` Heiko Carstens
2022-07-06  8:40               ` Heiko Carstens
2022-07-06  8:40               ` Heiko Carstens
2022-07-06 10:54             ` [PATCH v3] " Jason A. Donenfeld
2022-07-06 10:54               ` Jason A. Donenfeld
2022-07-06 12:35               ` Borislav Petkov
2022-07-06 12:35                 ` Borislav Petkov
2022-07-06 12:35                 ` Borislav Petkov
2022-07-06 13:55                 ` Jason A. Donenfeld
2022-07-06 13:55                   ` Jason A. Donenfeld
2022-07-06 13:55                   ` Jason A. Donenfeld
2022-07-06 14:35                   ` [PATCH v4] " Jason A. Donenfeld
2022-07-06 14:35                     ` Jason A. Donenfeld
2022-07-08  0:40                     ` [PATCH v5] " Jason A. Donenfeld
2022-07-08  0:40                       ` Jason A. Donenfeld
2022-07-13 15:46                       ` Catalin Marinas
2022-07-13 15:46                         ` Catalin Marinas
2022-07-13 15:46                         ` Catalin Marinas
2022-07-18 12:53                       ` Michael Ellerman
2022-07-18 12:53                         ` Michael Ellerman
2022-08-12 13:50                       ` Geert Uytterhoeven
2022-08-12 13:50                         ` Geert Uytterhoeven
2022-08-12 13:50                         ` Geert Uytterhoeven
2022-07-06 12:30           ` [PATCH] random: remove CONFIG_ARCH_RANDOM and "nordrand" Borislav Petkov
2022-07-06 12:30             ` Borislav Petkov
2022-07-06 12:30             ` Borislav Petkov
2022-07-06 14:55 ` Theodore Ts'o
2022-07-06 14:55   ` Theodore Ts'o
2022-07-06 14:55   ` Theodore Ts'o
2022-07-06 15:24   ` Jason A. Donenfeld
2022-07-06 15:24     ` Jason A. Donenfeld
2022-07-06 15:24     ` 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=YsSXkNBtB6Ciy9iN@zn.tnic \
    --to=bp@alien8.de \
    --cc=Jason@zx2c4.com \
    --cc=agordeev@linux.ibm.com \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hca@linux.ibm.com \
    --cc=hpa@zytor.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=tglx@linutronix.de \
    --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.