Re: [PATCH 44/74] lto: Mark functions used by the vsyscall init codevisible

From: Michal Marek
Date: Sat Sep 01 2012 - 11:27:14 EST


Dne 19.8.2012 04:56, Andi Kleen napsal(a):
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> The vsyscall code is compiled without LTO. This also includes
> its init function. The function which are called by it have
> to be visible, otherwise they could be optimized away
>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> ---
> drivers/char/random.c | 2 +-
> include/linux/mm.h | 1 +
> mm/vmalloc.c | 2 +-
> 3 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/char/random.c b/drivers/char/random.c
> index b86eae9..33c8fe5 100644
> --- a/drivers/char/random.c
> +++ b/drivers/char/random.c
> @@ -1450,7 +1450,7 @@ late_initcall(random_int_secret_init);
> * depleting entropy is too high
> */
> static DEFINE_PER_CPU(__u32 [MD5_DIGEST_WORDS], get_random_int_hash);
> -unsigned int get_random_int(void)
> +__visible unsigned int get_random_int(void)

I think that there should be a comment why the symbol needs to be
visible (just copy the reasoning from the changelog). Otherwise someone
might attempt to do a cleanup a few years later, noticing that there is
no assembler code calling get_random_int().

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/