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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BA2B87E.8050404@googlemail.com>
Date:	Fri, 19 Mar 2010 00:34:22 +0100
From:	René Bolldorf <xsecute@...glemail.com>
To:	Randy Dunlap <randy.dunlap@...cle.com>
CC:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/5] drivers/pci/pci.c Section mismatch

On 03/18/10 23:58, Randy Dunlap wrote:
> On 03/18/10 15:08, Ren� Bolldorf wrote:
>> Signed-off-by: Rene Bolldorf<xsecute@...glemail.com>
>>
>> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
>> index ddd55dc..a1f7d93 100644
>> --- a/drivers/pci/pci.c
>> +++ b/drivers/pci/pci.c
>> @@ -2773,7 +2773,7 @@ int pci_resource_bar(struct pci_dev *dev, int
>> resno, enum pci_bar_type *type)
>>   /* Some architectures require additional programming to enable VGA */
>>   static arch_set_vga_state_t arch_set_vga_state;
>>
>> -void __init pci_register_set_vga_state(arch_set_vga_state_t func)
>> +void pci_register_set_vga_state(arch_set_vga_state_t func)
>>   {
>>       arch_set_vga_state = func;    /* NULL disables */
>>   }
>> --
>
> Hi,
>
> Please put the offending/warning messages in the patch description.
> Include your analysis if it isn't obvious.
>
> thanks,

Hi,

the warning message was:
WARNING: drivers/pci/built-in.o(__ksymtab+0x190): Section mismatch in 
reference from the variable __ksymtab_pci_register_set_vga_state to the 
function .init.text:pci_register_set_vga_state()
The symbol pci_register_set_vga_state is exported and annotated __init
Fix this by removing the __init annotation of pci_register_set_vga_state 
or drop the export.

$fgrep "pci_register_set_vga_state" `find .`

$./arch/x86/kernel/apic/x2apic_uv_x.c: 
pci_register_set_vga_state(uv_set_vga_state);
$./include/linux/pci.h:extern void 
pci_register_set_vga_state(arch_set_vga_state_t func);
$./drivers/pci/pci.c:void 
pci_register_set_vga_state(arch_set_vga_state_t func)
$./drivers/pci/pci.c:EXPORT_SYMBOL(pci_register_set_vga_state);

this is a volatile function that set's a spec. state and is only used 
from uv_system_init(arch/x86/kernel/apic/x2apic_uv_x.c), the macro can 
also be removed.
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ