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, "Daniel Díaz" <daniel.diaz@linaro.org>,
	"Kees Cook" <keescook@chromium.org>,
	"Marc Zyngier" <maz@kernel.org>,
	"Stephen Rothwell" <sfr@canb.auug.org.au>,
	"Willy Tarreau" <w@1wt.eu>,
	"Linus Torvalds" <torvalds@linux-foundation.org>
Subject: [PATCH 5.7 3/6] random: fix circular include dependency on arm64 after addition of percpu.h
Date: Wed,  5 Aug 2020 17:52:30 +0200	[thread overview]
Message-ID: <20200805153507.134935212@linuxfoundation.org> (raw)
In-Reply-To: <20200805153506.978105994@linuxfoundation.org>

From: Willy Tarreau <w@1wt.eu>

commit 1c9df907da83812e4f33b59d3d142c864d9da57f upstream.

Daniel Díaz and Kees Cook independently reported that commit
f227e3ec3b5c ("random32: update the net random state on interrupt and
activity") broke arm64 due to a circular dependency on include files
since the addition of percpu.h in random.h.

The correct fix would definitely be to move all the prandom32 stuff out
of random.h but for backporting, a smaller solution is preferred.

This one replaces linux/percpu.h with asm/percpu.h, and this fixes the
problem on x86_64, arm64, arm, and mips.  Note that moving percpu.h
around didn't change anything and that removing it entirely broke
differently.  When backporting, such options might still be considered
if this patch fails to help.

[ It turns out that an alternate fix seems to be to just remove the
  troublesome <asm/pointer_auth.h> remove from the arm64 <asm/smp.h>
  that causes the circular dependency.

  But we might as well do the whole belt-and-suspenders thing, and
  minimize inclusion in <linux/random.h> too. Either will fix the
  problem, and both are good changes.   - Linus ]

Reported-by: Daniel Díaz <daniel.diaz@linaro.org>
Reported-by: Kees Cook <keescook@chromium.org>
Tested-by: Marc Zyngier <maz@kernel.org>
Fixes: f227e3ec3b5c
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 include/linux/random.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/include/linux/random.h
+++ b/include/linux/random.h
@@ -11,7 +11,7 @@
 #include <linux/kernel.h>
 #include <linux/list.h>
 #include <linux/once.h>
-#include <linux/percpu.h>
+#include <asm/percpu.h>
 
 #include <uapi/linux/random.h>
 



  parent reply	other threads:[~2020-08-05 19:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-05 15:52 [PATCH 5.7 0/6] 5.7.14-rc1 review Greg Kroah-Hartman
2020-08-05 15:52 ` [PATCH 5.7 1/6] random32: update the net random state on interrupt and activity Greg Kroah-Hartman
2020-08-05 15:52 ` [PATCH 5.7 2/6] ARM: percpu.h: fix build error Greg Kroah-Hartman
2020-08-05 15:52 ` Greg Kroah-Hartman [this message]
2020-08-05 15:52 ` [PATCH 5.7 4/6] random32: remove net_rand_state from the latent entropy gcc plugin Greg Kroah-Hartman
2020-08-05 15:52 ` [PATCH 5.7 5/6] random32: move the pseudo-random 32-bit definitions to prandom.h Greg Kroah-Hartman
2020-08-05 15:52 ` [PATCH 5.7 6/6] [PATCH] arm64: Workaround circular dependency in pointer_auth.h Greg Kroah-Hartman
2020-08-05 17:39 ` [PATCH 5.7 0/6] 5.7.14-rc1 review Naresh Kamboju
2020-08-05 18:01   ` Linus Torvalds
2020-08-05 18:27     ` Guenter Roeck
2020-08-05 18:24   ` Guenter Roeck
2020-08-05 18:37     ` Linus Torvalds
2020-08-05 19:24       ` Guenter Roeck
2020-08-05 19:45         ` Linus Torvalds
2020-08-05 19:58           ` Greg Kroah-Hartman
2020-08-06  0:09           ` Guenter Roeck
2020-08-05 19:26       ` Daniel Díaz

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=20200805153507.134935212@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=daniel.diaz@linaro.org \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=w@1wt.eu \
    /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).