Re: [PATCH v1 2/3] Mark functions with the latent_entropy attribute

From: Emese Revfy
Date: Tue May 24 2016 - 16:38:57 EST


On Tue, 24 May 2016 10:16:09 -0700
Kees Cook <keescook@xxxxxxxxxxxx> wrote:

> On Mon, May 23, 2016 at 3:16 PM, Emese Revfy <re.emese@xxxxxxxxx> wrote:
> > +#ifdef CONFIG_MEMORY_HOTPLUG
> > +#define add_meminit_latent_entropy
> > +#else
> > +#define add_meminit_latent_entropy __latent_entropy
> > +#endif
> > +
> > /* These are for everybody (although not all archs will actually
> > discard it in modules) */
> > -#define __init __section(.init.text) __cold notrace
> > +#define __init __section(.init.text) __cold notrace __latent_entropy
> > #define __initdata __section(.init.data)
> > #define __initconst __constsection(.init.rodata)
> > #define __exitdata __section(.exit.data)
> > @@ -92,7 +98,7 @@
> > #define __exit __section(.exit.text) __exitused __cold notrace
> >
> > /* Used for MEMORY_HOTPLUG */
> > -#define __meminit __section(.meminit.text) __cold notrace
> > +#define __meminit __section(.meminit.text) __cold notrace add_meminit_latent_entropy
> > #define __meminitdata __section(.meminit.data)
> > #define __meminitconst __constsection(.meminit.rodata)
> > #define __memexit __section(.memexit.text) __exitused __cold notrace
>
> I was confused by these defines. :) Maybe "add_meminit_latent_entropy"
> should be named "__memory_hotplug_only_latent_entropy" or something
> like that?

I think the plugin doesn't cause a significant slowdown when CONFIG_MEMORY_HOTPLUG is enabled so I would rather always add the __latent_entropy attribute to __meminit.

--
Emese