Hi Linus,
Building the origin tree, today's linux-next build (powerpc allyesconfig)
produced this warning:
WARNING: mm/built-in.o(.text.unlikely+0xc22): Section mismatch in reference from the function .new_kmalloc_cache() to the variable .init.rodata:kmalloc_info
The function .new_kmalloc_cache() references
the variable __initconst kmalloc_info.
This is often because .new_kmalloc_cache lacks a __initconst
annotation or the annotation of kmalloc_info is wrong.
Caused by commit a9730fca9946 ("Fix kmalloc slab creation sequence").
--
Cheers,
Stephen Rothwell [email protected]
On Tue, 30 Jun 2015, Stephen Rothwell wrote:
> WARNING: mm/built-in.o(.text.unlikely+0xc22): Section mismatch in reference from the function .new_kmalloc_cache() to the variable .init.rodata:kmalloc_info
> The function .new_kmalloc_cache() references
> the variable __initconst kmalloc_info.
> This is often because .new_kmalloc_cache lacks a __initconst
> annotation or the annotation of kmalloc_info is wrong.
>
> Caused by commit a9730fca9946 ("Fix kmalloc slab creation sequence").
Subject: Add __init attribute to new_kmalloc_cache
Signed-off-by: Christoph Lameter <[email protected]>
Index: linux/mm/slab_common.c
===================================================================
--- linux.orig/mm/slab_common.c
+++ linux/mm/slab_common.c
@@ -855,7 +855,7 @@ void __init setup_kmalloc_cache_index_ta
}
}
-static void new_kmalloc_cache(int idx, unsigned long flags)
+static void __init new_kmalloc_cache(int idx, unsigned long flags)
{
kmalloc_caches[idx] = create_kmalloc_cache(kmalloc_info[idx].name,
kmalloc_info[idx].size, flags);
On Tue, Jun 30, 2015 at 4:01 PM, Christoph Lameter <[email protected]> wrote:
> On Tue, 30 Jun 2015, Stephen Rothwell wrote:
>> WARNING: mm/built-in.o(.text.unlikely+0xc22): Section mismatch in reference from the function .new_kmalloc_cache() to the variable .init.rodata:kmalloc_info
>> The function .new_kmalloc_cache() references
>> the variable __initconst kmalloc_info.
>> This is often because .new_kmalloc_cache lacks a __initconst
>> annotation or the annotation of kmalloc_info is wrong.
>>
>> Caused by commit a9730fca9946 ("Fix kmalloc slab creation sequence").
>
>
> Subject: Add __init attribute to new_kmalloc_cache
>
> Signed-off-by: Christoph Lameter <[email protected]>
Tested-by: Geert Uytterhoeven <[email protected]>
>
> Index: linux/mm/slab_common.c
> ===================================================================
> --- linux.orig/mm/slab_common.c
> +++ linux/mm/slab_common.c
> @@ -855,7 +855,7 @@ void __init setup_kmalloc_cache_index_ta
> }
> }
>
> -static void new_kmalloc_cache(int idx, unsigned long flags)
> +static void __init new_kmalloc_cache(int idx, unsigned long flags)
> {
> kmalloc_caches[idx] = create_kmalloc_cache(kmalloc_info[idx].name,
> kmalloc_info[idx].size, flags);
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds