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]
Message-ID: <alpine.DEB.2.21.2204270130210.9383@angie.orcam.me.uk>
Date:   Wed, 27 Apr 2022 01:40:12 +0100 (BST)
From:   "Maciej W. Rozycki" <macro@...am.me.uk>
To:     Stephen Zhang <starzhangzsd@...il.com>
cc:     Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
        liam.howlett@...cle.com, ebiederm@...ssion.com, dbueso@...e.de,
        alobakin@...me, f.fainelli@...il.com, zhangshida@...inos.cn,
        linux-kernel@...r.kernel.org, linux-mips@...r.kernel.org
Subject: Re: [PATCH] arch/mips/kernel/traps: add CONFIG_MIPS_FP_SUPPORT when
 using handle_fpe

On Tue, 26 Apr 2022, Stephen Zhang wrote:

> diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
> index 246c6a6b0261..ef9792261f91 100644
> --- a/arch/mips/kernel/traps.c
> +++ b/arch/mips/kernel/traps.c
> @@ -90,7 +90,9 @@ extern asmlinkage void handle_cpu(void);
>  extern asmlinkage void handle_ov(void);
>  extern asmlinkage void handle_tr(void);
>  extern asmlinkage void handle_msa_fpe(void);
> +#ifdef CONFIG_MIPS_FP_SUPPORT
>  extern asmlinkage void handle_fpe(void);
> +#endif

 No need to conditionalise declarations ever.

> @@ -2489,8 +2491,10 @@ void __init trap_init(void)
>  	if (board_nmi_handler_setup)
>  		board_nmi_handler_setup();
>  
> +#ifdef CONFIG_MIPS_FP_SUPPORT
>  	if (cpu_has_fpu && !cpu_has_nofpuex)
>  		set_except_vector(EXCCODE_FPE, handle_fpe);
> +#endif

 No need to conditionalise this either, because `cpu_has_fpu' is forced 0 
(in arch/mips/include/asm/cpu-features.h) if !CONFIG_MIPS_FP_SUPPORT.  So 
this code translates to:

 if (0 && !0)
  set_except_vector(15, handle_fpe);

in the preprocessor if CONFIG_MIPS_FP_SUPPORT is unset and is optimised 
away.  Otherwise it should be written as:

	if (IS_ENABLED(CONFIG_MIPS_FP_SUPPORT) && ...

so as not to clutter C code with #ifdef, as per our coding style.

  Maciej

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ