Re: [PATCH] alpha: remove __init annotation from exported page_is_ram()

From: Randy Dunlap
Date: Sat Jul 29 2023 - 21:50:43 EST




On 7/29/23 00:42, Masahiro Yamada wrote:
> EXPORT_SYMBOL and __init is a bad combination because the .init.text
> section is freed up after the initialization.
>
> Commit c5a130325f13 ("ACPI/APEI: Add parameter check before error
> injection") exported page_is_ram(), hence the __init annotation should
> be removed.
>
> This fixes the modpost warning in ARCH=alpha builds:
>
> WARNING: modpost: vmlinux: page_is_ram: EXPORT_SYMBOL used for init symbol. Remove __init or EXPORT_SYMBOL.
>
> Fixes: c5a130325f13 ("ACPI/APEI: Add parameter check before error injection")
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>

Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Thanks.

> ---
>
> arch/alpha/kernel/setup.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
> index b650ff1cb022..3d7473531ab1 100644
> --- a/arch/alpha/kernel/setup.c
> +++ b/arch/alpha/kernel/setup.c
> @@ -385,8 +385,7 @@ setup_memory(void *kernel_end)
> #endif /* CONFIG_BLK_DEV_INITRD */
> }
>
> -int __init
> -page_is_ram(unsigned long pfn)
> +int page_is_ram(unsigned long pfn)
> {
> struct memclust_struct * cluster;
> struct memdesc_struct * memdesc;

--
~Randy