Re: [PATCH v2] memblock: Anonotate memblock_is_reserved() with __init_memblock.

From: Michal Hocko
Date: Mon Dec 03 2018 - 04:09:44 EST


On Mon 03-12-18 04:00:08, Yueyi Li wrote:
> Found warning:
>
> WARNING: EXPORT symbol "gsi_write_channel_scratch" [vmlinux] version generation failed, symbol will not be versioned.
> WARNING: vmlinux.o(.text+0x1e0a0): Section mismatch in reference from the function valid_phys_addr_range() to the function .init.text:memblock_is_reserved()
> The function valid_phys_addr_range() references
> the function __init memblock_is_reserved().
> This is often because valid_phys_addr_range lacks a __init
> annotation or the annotation of memblock_is_reserved is wrong.
>
> Use __init_memblock instead of __init.

Yes, it really doesn't make much sense to stand this out of all other
helpers.

> Signed-off-by: liyueyi <liyueyi@xxxxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

> ---
>
> Changes v2: correct typo in 'warning'.
>
> mm/memblock.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 9a2d5ae..81ae63c 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -1727,7 +1727,7 @@ static int __init_memblock memblock_search(struct memblock_type *type, phys_addr
> return -1;
> }
>
> -bool __init memblock_is_reserved(phys_addr_t addr)
> +bool __init_memblock memblock_is_reserved(phys_addr_t addr)
> {
> return memblock_search(&memblock.reserved, addr) != -1;
> }
> --
> 2.7.4
>

--
Michal Hocko
SUSE Labs