<linux/percpu.h> include was removed from <linux/prandom.h> in d9f29deb7fe8 ("prandom: Remove unused include") because this inclusion broke arm64 due to a circular dependency on include files.
__percpu tag is defined in include/linux/compiler_types.h, so there is currently no direct need for the inclusion of <linux/percpu.h>. However, in [1] we would like to repurpose __percpu tag as a named address space qualifier, where __percpu macro uses defines from <linux/percpu.h>.
The circular dependency was removed in ddd8e37ebaa1 ("random: Do not include <linux/prandom.h> in <linux/random.h>") and it cleared the path for the inclusion of <linux/percpu.h> in <linux/prandom.h>.
This patch is basically a revert of d9f29deb7fe8 ("prandom: Remove unused include").
[1] https://lore.kernel.org/lkml/20240812115945.484051-4-ubizjak@gmail.com/
Signed-off-by: Uros Bizjak ubizjak@gmail.com Cc: "Theodore Ts'o" tytso@mit.edu Cc: "Jason A. Donenfeld" Jason@zx2c4.com Cc: Kent Overstreet kent.overstreet@linux.dev --- include/linux/prandom.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/include/linux/prandom.h b/include/linux/prandom.h index f7f1e5251c67..f2ed5b72b3d6 100644 --- a/include/linux/prandom.h +++ b/include/linux/prandom.h @@ -10,6 +10,7 @@
#include <linux/types.h> #include <linux/once.h> +#include <linux/percpu.h> #include <linux/random.h>
struct rnd_state {