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] [day] [month] [year] [list]
Date:   Fri, 26 Jul 2019 14:17:02 +0100
From:   Marc Zyngier <maz@...nel.org>
To:     Anders Roxell <anders.roxell@...aro.org>
Cc:     tglx@...utronix.de, jason@...edaemon.net,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] irqchip: gic-v3: Mark expected switch fall-through

On Fri, 26 Jul 2019 12:28:26 +0100,
Anders Roxell <anders.roxell@...aro.org> wrote:
> 
> When fall-through warnings was enabled by default the following warning
> was starting to show up:
> 
> In file included from ../arch/arm64/include/asm/cputype.h:132,
>                  from ../arch/arm64/include/asm/cache.h:8,
>                  from ../include/linux/cache.h:6,
>                  from ../include/linux/printk.h:9,
>                  from ../include/linux/kernel.h:15,
>                  from ../include/linux/list.h:9,
>                  from ../include/linux/kobject.h:19,
>                  from ../include/linux/of.h:17,
>                  from ../include/linux/irqdomain.h:35,
>                  from ../include/linux/acpi.h:13,
>                  from ../drivers/irqchip/irq-gic-v3.c:9:
> ../drivers/irqchip/irq-gic-v3.c: In function ‘gic_cpu_sys_reg_init’:
> ../arch/arm64/include/asm/sysreg.h:853:2: warning: this statement may fall
>  through [-Wimplicit-fallthrough=]
>   asm volatile(__msr_s(r, "%x0") : : "rZ" (__val));  \
>   ^~~
> ../arch/arm64/include/asm/arch_gicv3.h:20:29: note: in expansion of macro ‘write_sysreg_s’
>  #define write_gicreg(v, r)  write_sysreg_s(v, SYS_ ## r)
>                              ^~~~~~~~~~~~~~
> ../drivers/irqchip/irq-gic-v3.c:773:4: note: in expansion of macro ‘write_gicreg’
>     write_gicreg(0, ICC_AP0R2_EL1);
>     ^~~~~~~~~~~~
> ../drivers/irqchip/irq-gic-v3.c:774:3: note: here
>    case 6:
>    ^~~~
> 
> Rework so that the compiler doesn't warn about fall-through.
> 
> Fixes: d93512ef0f0e ("Makefile: Globally enable fall-through warning")
> Signed-off-by: Anders Roxell <anders.roxell@...aro.org>
> ---
>  drivers/irqchip/irq-gic-v3.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> index 9bca4896fa6f..96d927f0f91a 100644
> --- a/drivers/irqchip/irq-gic-v3.c
> +++ b/drivers/irqchip/irq-gic-v3.c
> @@ -771,8 +771,10 @@ static void gic_cpu_sys_reg_init(void)
>  		case 7:
>  			write_gicreg(0, ICC_AP0R3_EL1);
>  			write_gicreg(0, ICC_AP0R2_EL1);
> +		/* Fall through */
>  		case 6:
>  			write_gicreg(0, ICC_AP0R1_EL1);
> +		/* Fall through */
>  		case 5:
>  		case 4:
>  			write_gicreg(0, ICC_AP0R0_EL1);
> @@ -786,8 +788,10 @@ static void gic_cpu_sys_reg_init(void)
>  	case 7:
>  		write_gicreg(0, ICC_AP1R3_EL1);
>  		write_gicreg(0, ICC_AP1R2_EL1);
> +		/* Fall through */
>  	case 6:
>  		write_gicreg(0, ICC_AP1R1_EL1);
> +		/* Fall through */
>  	case 5:
>  	case 4:
>  		write_gicreg(0, ICC_AP1R0_EL1);
> -- 
> 2.20.1
> 

Applied, thanks.

	M.

-- 
Jazz is not dead, it just smells funny.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ