Thread (5 messages) flat view 5 messages, 3 authors, 2022-08-17

Re: [PATCH] gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file

From: Andrew Donnellan <hidden>
Date: 2022-08-17 03:10:38
Also in: linux-hardening

On Tue, 2022-08-16 at 05:14 -0700, Yury Norov wrote:
On Tue, Aug 16, 2022 at 03:17:20PM +1000, Andrew Donnellan wrote:
quoted
Commit 36d4b36b6959 ("lib/nodemask: inline next_node_in() and
node_random()") refactored some code by moving node_random() from
lib/nodemask.c to include/linux/nodemask.h, thus requiring
nodemask.h to
include random.h, which conditionally defines add_latent_entropy()
depending on whether the macro LATENT_ENTROPY_PLUGIN is defined.

This broke the build on powerpc, where nodemask.h is indirectly
included
in arch/powerpc/kernel/prom_init.c, part of the early boot
machinery that
is excluded from the latent entropy plugin using
DISABLE_LATENT_ENTROPY_PLUGIN. It turns out that while we add a gcc
flag
to disable the actual plugin, we don't undefine
LATENT_ENTROPY_PLUGIN.

This leads to the following:

    CC      arch/powerpc/kernel/prom_init.o
  In file included from ./include/linux/nodemask.h:97,
                   from ./include/linux/mmzone.h:17,
                   from ./include/linux/gfp.h:7,
                   from ./include/linux/xarray.h:15,
As a side note, xarray can go with gfp_types.h instead of gfp.h
Indeed, I just saw your patch to fix this.
quoted
Fixes: 36d4b36b6959 ("lib/nodemask: inline next_node_in() and
node_random()")
I think it rather fixes 38addce8b600ca33 ("gcc-plugins: Add
latent_entropy plugin").
You're right, I was in a rush and should have tagged that
appropriately.
For the rest,
Reviewed-by: Yury Norov <yury.norov@gmail.com>
Thanks!


-- 
Andrew Donnellan    OzLabs, ADL Canberra
ajd@linux.ibm.com   IBM Australia Limited
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help