Re: [PATCH 03/11] bnx2x: Fix undefined behavior due to shift overflowing the constant

From: Jakub Kicinski
Date: Tue Apr 05 2022 - 22:12:23 EST


On Tue, 5 Apr 2022 17:15:09 +0200 Borislav Petkov wrote:
> From: Borislav Petkov <bp@xxxxxxx>
>
> Fix:
>
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c: In function ‘bnx2x_check_blocks_with_parity3’:
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:4917:4: error: case label does not reduce to an integer constant
> case AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY:
> ^~~~
>
> See https://lore.kernel.org/r/YkwQ6%2BtIH8GQpuct@xxxxxxx for the gory
> details as to why it triggers with older gccs only.
>
> Signed-off-by: Borislav Petkov <bp@xxxxxxx>

I think this patch did not make it to netdev patchwork.
Could you resend (as a non-series patch - drop the 03/11
from the subject, that way build bot will not consider
it a partial/broken posting)? Thanks!

> diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
> index 5caa75b41b73..881ac33fe914 100644
> --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
> +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
> @@ -6218,7 +6218,7 @@
> #define AEU_INPUTS_ATTN_BITS_GPIO0_FUNCTION_0 (0x1<<2)
> #define AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR (0x1<<12)
> #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY (0x1<<28)
> -#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY (0x1<<31)
> +#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY (0x1U<<31)
> #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY (0x1<<29)
> #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY (0x1<<30)
> #define AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT (0x1<<15)