Subject: Re: EXPORT_SYMBOL(min_low_pfn);

From: James Hogan <[email-masked]>
Date: Thu, 14 Mar 2013 11:38:05 +0000

On 06/02/13 00:36, Stephen Rothwell wrote:
> Hi all,
> 
> On Tue, 5 Feb 2013 11:31:22 -0800 Tony Luck <[email-masked]> wrote:
>>
>> Today i noticed in linux-next this commit:
>>
>> commit b0d9c17503444c2df8cb8e93ccfa4877edd71933
>> Author: Sanjay Lal <[email-masked]>
>> Date:   Wed Nov 21 18:34:14 2012 -0800
>>
>>     MIPS: Export symbols used by KVM/MIPS module
>>
>> which causes this kernel build warning on ia64:
>>
>> WARNING: vmlinux: 'min_low_pfn' exported twice. Previous export was in vmlinux
>>
>>
>> We just need to delete the arch/ia64 specific export (and grep says
>> for arch/metag too):
>>
>> $ git grep min_low_pfn | grep EXPORT
>> arch/ia64/kernel/ia64_ksyms.c:EXPORT_SYMBOL(min_low_pfn);	/* defined
>> by bootmem.c, but not exported by generic code */
>> arch/metag/kernel/metag_ksyms.c:EXPORT_SYMBOL(min_low_pfn);
>> mm/bootmem.c:EXPORT_SYMBOL(min_low_pfn);
>>
>>
>> Can you do this in the same branch as the mips change so the bits
>> will flow to Linus together in the next window?
>>
>> ia64 change (which gmail will no doubt mangle)
> 
> It did :-)
> 
>> From: "Luck, Tony" <[email-masked]>
>>
>> min_low_pfn is now exported by generic code
>>
>> Signed-off-by: Tony Luck <[email-masked]>
>>
>> ---
>>
>> diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
>> index 5b7791d..ca95c8b 100644
>> --- a/arch/ia64/kernel/ia64_ksyms.c
>> +++ b/arch/ia64/kernel/ia64_ksyms.c
>> @@ -25,7 +25,6 @@ EXPORT_SYMBOL(copy_page);
>>
>>  #ifdef CONFIG_VIRTUAL_MEM_MAP
>>  #include <linux/bootmem.h>
>> -EXPORT_SYMBOL(min_low_pfn);    /* defined by bootmem.c, but not
>> exported by generic code */
>>  EXPORT_SYMBOL(max_low_pfn);    /* defined by bootmem.c, but not
>> exported by generic code */
>>  #endif
> 
> I applied this as a merge fix to the mips tree merge for today, but it
> should be added to the mips tree.
> 
> I also applied this as a merge fix (which only I can apply as the metag
> tree is not in Linus' tree yet):
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Wed, 6 Feb 2013 11:31:24 +1100
> Subject: [PATCH] metag: min_low_pfn is now exported by generic code
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>

Acked-by: James Hogan <[email-masked]>

This has now cropped up again in linux-next:
> $ cgrep min_low_pfn | grep EXPORT_SY
> ./arch/ia64/kernel/ia64_ksyms.c:28:EXPORT_SYMBOL(min_low_pfn);  /* defined by bootmem.c, but not exported by generic code */
> ./arch/metag/kernel/metag_ksyms.c:15:EXPORT_SYMBOL(min_low_pfn);
> ./mm/bootmem.c:35:EXPORT_SYMBOL(min_low_pfn);

Please can Tony's ia64 and Stephen's metag patches be applied to the
relevant MIPS branch containing the "MIPS: Export symbols used by
KVM/MIPS module" change (which is now based on v3.9-rc2 so contains
arch/metag) so they can flow nicely to Linus?

Cheers
James