lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 15 Oct 2014 17:44:29 -0600
From:	Bjorn Helgaas <bhelgaas@...gle.com>
To:	Jason Wessel <jason.wessel@...driver.com>,
	Ralf Baechle <ralf@...ux-mips.org>,
	Ingo Molnar <mingo@...hat.com>,
	John Stultz <john.stultz@...aro.org>,
	Eric Paris <eparis@...hat.com>,
	"H. Peter Anvin" <hpa@...or.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Andrew Morton <akpm@...ux-foundation.org>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Michael Holzheu <holzheu@...ux.vnet.ibm.com>,
	Vivek Goyal <vgoyal@...hat.com>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	Heiko Carstens <heiko.carstens@...ibm.com>,
	"linux-s390@...r.kernel.org" <linux-s390@...r.kernel.org>
Subject: Re: [PATCH v1 07/10] vmcore: Remove "weak" from function declarations

[+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@...gle.com> 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@...gle.com> 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@...gle.com>
>> CC: Michael Holzheu <holzheu@...ux.vnet.ibm.com>
>> CC: Vivek Goyal <vgoyal@...hat.com>
>> ---
>>  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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists