[+cc Martin, Heiko, linux-s390, since s390 could see issues from this. Sorry for all the spam; I should have gotten this right the first time.] On Wed, Oct 15, 2014 at 5:31 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > [+cc Michael, Vivek; sorry, I botched my "stg mail" so you weren't > included the first time] > > On Wed, Oct 15, 2014 at 11:06 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: >> For the following functions: >> >> elfcorehdr_alloc() >> elfcorehdr_free() >> elfcorehdr_read() >> elfcorehdr_read_notes() >> remap_oldmem_pfn_range() >> >> fs/proc/vmcore.c provides default definitions explicitly marked "weak". >> arch/s390 provides its own definitions intended to override the default >> ones, but the "weak" attribute on the declarations applied to the s390 >> definitions as well, so the linker chose one based on link order (see >> 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node >> decl")). >> >> Remove the "weak" attribute from the declarations so we always prefer a >> non-weak definition over the weak one, independent of link order. >> >> Fixes: be8a8d069e50 ("vmcore: introduce ELF header in new memory feature") >> Fixes: 9cb218131de1 ("vmcore: introduce remap_oldmem_pfn_range()") >> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> >> CC: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> >> CC: Vivek Goyal <vgoyal@xxxxxxxxxx> >> --- >> include/linux/crash_dump.h | 15 +++++++-------- >> 1 file changed, 7 insertions(+), 8 deletions(-) >> >> diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h >> index 72ab536ad3de..3849fce7ecfe 100644 >> --- a/include/linux/crash_dump.h >> +++ b/include/linux/crash_dump.h >> @@ -14,14 +14,13 @@ >> extern unsigned long long elfcorehdr_addr; >> extern unsigned long long elfcorehdr_size; >> >> -extern int __weak elfcorehdr_alloc(unsigned long long *addr, >> - unsigned long long *size); >> -extern void __weak elfcorehdr_free(unsigned long long addr); >> -extern ssize_t __weak elfcorehdr_read(char *buf, size_t count, u64 *ppos); >> -extern ssize_t __weak elfcorehdr_read_notes(char *buf, size_t count, u64 *ppos); >> -extern int __weak remap_oldmem_pfn_range(struct vm_area_struct *vma, >> - unsigned long from, unsigned long pfn, >> - unsigned long size, pgprot_t prot); >> +extern int elfcorehdr_alloc(unsigned long long *addr, unsigned long long *size); >> +extern void elfcorehdr_free(unsigned long long addr); >> +extern ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos); >> +extern ssize_t elfcorehdr_read_notes(char *buf, size_t count, u64 *ppos); >> +extern int remap_oldmem_pfn_range(struct vm_area_struct *vma, >> + unsigned long from, unsigned long pfn, >> + unsigned long size, pgprot_t prot); >> >> extern ssize_t copy_oldmem_page(unsigned long, char *, size_t, >> unsigned long, int); >> -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html