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:	Fri, 04 Mar 2011 00:19:18 +0300
From:	Cyrill Gorcunov <gorcunov@...il.com>
To:	Henrik Kretzschmar <henne@...htwindheim.de>
CC:	mingo@...e.hu, tglx@...utronix.de, hpa@...or.com, x86@...nel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/7] x86: make some apic symbols init

On 03/03/2011 11:04 PM, Henrik Kretzschmar wrote:
> apic_force_enable(), apic_verify() and the variable
> force_enable_local_apic are only used by init code
> and now get marked as such.
> 
> Global __initdata variables may better be initialized,
> since they are in the data section and not in the bss.
> 
> Signed-off-by: Henrik Kretzschmar <henne@...htwindheim.de>
> ---
>  arch/x86/include/asm/apic.h |    2 +-
>  arch/x86/kernel/apic/apic.c |    6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
> index dbd558c..afe69e1 100644
> --- a/arch/x86/include/asm/apic.h
> +++ b/arch/x86/include/asm/apic.h
> @@ -240,7 +240,7 @@ extern void setup_boot_APIC_clock(void);
>  extern void setup_secondary_APIC_clock(void);
>  extern int APIC_init_uniprocessor(void);
>  extern void enable_NMI_through_LVT0(void);
> -extern int apic_force_enable(unsigned long addr);
> +extern int apic_force_enable(unsigned long addr) __init;

Nope, we either should _check_ all the prototipes and fix them
either left them untouched. This will confuse code readers with "for
what reason some functions have __init, some -- not". So I rather
would fix this nit in different patch later which would address
all of them (if this would not break someone's queue).

>  
>  /*
>   * On 32bit this is mach-xxx local
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index 6c464a3..022afb9 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -93,7 +93,7 @@ DEFINE_EARLY_PER_CPU(int, x86_cpu_to_logical_apicid, BAD_APICID);
>   *
>   * +1=force-enable
>   */
> -static int force_enable_local_apic;
> +static int force_enable_local_apic __initdata = 0;

Hmm, I fail to see why we need to set it to 0.

>  /*
>   * APIC command line parameters
>   */
> @@ -1560,7 +1560,7 @@ static int __init detect_init_APIC(void)
>  }
>  #else
>  
> -static int apic_verify(void)
> +static int __init apic_verify(void)
>  {
>  	u32 features, h, l;
>  
> @@ -1585,7 +1585,7 @@ static int apic_verify(void)
>  	return 0;
>  }
>  
> -int apic_force_enable(unsigned long addr)
> +int __init apic_force_enable(unsigned long addr)
>  {
>  	u32 h, l;
>  

Other looks good to me.

-- 
    Cyrill
--
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