2022-12-02 21:21:27

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] random: Include <linux/once.h> in the right header

<linux/prandom.h> uses DO_ONCE(). So it should include <linux/once.h>
directly.

On the contrary, <linux/random.h> doesn't use functionalities from
<linux/once.h>, so it should be removed.

All this is true since commit c0842fbc1b18 ("random32: move the
pseudo-random 32-bit definitions to prandom.h")

Move the #include <linux/once.h> in the right file.

Signed-off-by: Christophe JAILLET <[email protected]>
---
Let see if build-bots agree with me!
---
include/linux/prandom.h | 1 +
include/linux/random.h | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/prandom.h b/include/linux/prandom.h
index 1f4a0de7b019..c94c02ba065c 100644
--- a/include/linux/prandom.h
+++ b/include/linux/prandom.h
@@ -9,6 +9,7 @@
#define _LINUX_PRANDOM_H

#include <linux/types.h>
+#include <linux/once.h>
#include <linux/percpu.h>
#include <linux/random.h>

diff --git a/include/linux/random.h b/include/linux/random.h
index b1a34181eed6..4a2a1de423cd 100644
--- a/include/linux/random.h
+++ b/include/linux/random.h
@@ -6,7 +6,6 @@
#include <linux/bug.h>
#include <linux/kernel.h>
#include <linux/list.h>
-#include <linux/once.h>

#include <uapi/linux/random.h>

--
2.34.1


2022-12-02 21:21:38

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] random: Include <linux/once.h> in the right header

On Fri, Dec 02, 2022 at 10:13:36PM +0100, Christophe JAILLET wrote:
> <linux/prandom.h> uses DO_ONCE(). So it should include <linux/once.h>
> directly.
>
> On the contrary, <linux/random.h> doesn't use functionalities from
> <linux/once.h>, so it should be removed.
>
> All this is true since commit c0842fbc1b18 ("random32: move the
> pseudo-random 32-bit definitions to prandom.h")
>
> Move the #include <linux/once.h> in the right file.
>
> Signed-off-by: Christophe JAILLET <[email protected]>

Reviewed-by: Kees Cook <[email protected]>

--
Kees Cook

2022-12-03 02:16:48

by Jason A. Donenfeld

[permalink] [raw]
Subject: Re: [PATCH] random: Include <linux/once.h> in the right header

Hi Christophe,

On Fri, Dec 02, 2022 at 10:13:36PM +0100, Christophe JAILLET wrote:
> <linux/prandom.h> uses DO_ONCE(). So it should include <linux/once.h>
> directly.
>
> On the contrary, <linux/random.h> doesn't use functionalities from
> <linux/once.h>, so it should be removed.
>
> All this is true since commit c0842fbc1b18 ("random32: move the
> pseudo-random 32-bit definitions to prandom.h")
>
> Move the #include <linux/once.h> in the right file.
>
> Signed-off-by: Christophe JAILLET <[email protected]>

Thanks, applied for now as:
https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git/commit/?id=1ea746beac98ad11132b0a9a11978d5cf0a055ef

> ---
> Let see if build-bots agree with me!

Indeed. I've got a few builds of my own going, and so far so good, but
we'll learn soon enough if something goes wrong.

Jason