2015-06-30 03:50:21

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build warning in the origin tree

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]


Attachments:
(No filename) (819.00 B)
OpenPGP digital signature

Subject: Re: linux-next: build warning in the origin tree

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);

2015-07-01 13:31:27

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: linux-next: build warning in the origin tree

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