[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM4PR12MB535784B4F2F90DD3079E8F44C9459@DM4PR12MB5357.namprd12.prod.outlook.com>
Date: Sun, 11 Sep 2022 10:35:29 +0000
From: Raed Salem <raeds@...dia.com>
To: Nathan Chancellor <nathan@...nel.org>,
Saeed Mahameed <saeedm@...dia.com>,
Leon Romanovsky <leon@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
CC: Nick Desaulniers <ndesaulniers@...gle.com>,
Tom Rix <trix@...hat.com>, Boris Pismenny <borisp@...dia.com>,
Lior Nahmanson <liorna@...dia.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"llvm@...ts.linux.dev" <llvm@...ts.linux.dev>,
"patches@...ts.linux.dev" <patches@...ts.linux.dev>
Subject: RE: [PATCH net-next v2] net/mlx5e: Ensure macsec_rule is always
initiailized in macsec_fs_{r,t}x_add_rule()
>-----Original Message-----
>From: Nathan Chancellor <nathan@...nel.org>
>Sent: Sunday, 11 September 2022 11:58
>To: Saeed Mahameed <saeedm@...dia.com>; Leon Romanovsky
><leon@...nel.org>; David S. Miller <davem@...emloft.net>; Eric Dumazet
><edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo Abeni
><pabeni@...hat.com>
>Cc: Nick Desaulniers <ndesaulniers@...gle.com>; Tom Rix
><trix@...hat.com>; Boris Pismenny <borisp@...dia.com>; Raed Salem
><raeds@...dia.com>; Lior Nahmanson <liorna@...dia.com>;
>netdev@...r.kernel.org; linux-rdma@...r.kernel.org; linux-
>kernel@...r.kernel.org; llvm@...ts.linux.dev; patches@...ts.linux.dev;
>Nathan Chancellor <nathan@...nel.org>
>Subject: [PATCH net-next v2] net/mlx5e: Ensure macsec_rule is always
>initiailized in macsec_fs_{r,t}x_add_rule()
>
>External email: Use caution opening links or attachments
>
>
>Clang warns:
>
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:539:6:
>error: variable 'macsec_rule' is used uninitialized whenever 'if' condition is
>true [-Werror,-Wsometimes-uninitialized]
> if (err)
> ^~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:598:9:
>note: uninitialized use occurs here
> return macsec_rule;
> ^~~~~~~~~~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:539:2:
>note: remove the 'if' if its condition is always false
> if (err)
> ^~~~~~~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:523:38:
>note: initialize the variable 'macsec_rule' to silence this warning
> union mlx5e_macsec_rule *macsec_rule;
> ^
> = NULL
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1131:6:
>error: variable 'macsec_rule' is used uninitialized whenever 'if' condition is
>true [-Werror,-Wsometimes-uninitialized]
> if (err)
> ^~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1215:9:
>note: uninitialized use occurs here
> return macsec_rule;
> ^~~~~~~~~~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1131:2:
>note: remove the 'if' if its condition is always false
> if (err)
> ^~~~~~~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c:1118:38:
>note: initialize the variable 'macsec_rule' to silence this warning
> union mlx5e_macsec_rule *macsec_rule;
> ^
> = NULL
> 2 errors generated.
>
>If macsec_fs_{r,t}x_ft_get() fail, macsec_rule will be uninitialized.
>Initialize it to NULL at the top of each function so that it cannot be used
>uninitialized.
>
>Fixes: e467b283ffd5 ("net/mlx5e: Add MACsec TX steering rules")
>Fixes: 3b20949cb21b ("net/mlx5e: Add MACsec RX steering rules")
>Link: https://github.com/ClangBuiltLinux/linux/issues/1706
>Signed-off-by: Nathan Chancellor <nathan@...nel.org>
>---
Reviewed-by: Raed Salem <raeds@...dia.com>
>
>v1 -> v2: https://lore.kernel.org/20220908153207.4048871-1-
>nathan@...nel.org/
>
>* Don't use a label and goto, just initialize it to NULL at the top of
> the functions (Raed).
>
>Tom, I did not carry forward your reviewed-by tag, even though this is a pretty
>obvious fix.
>
>Blurb from v1:
>
>I thought netdev was doing testing with clang so that new warnings do not
>show up. Did something break or stop working since this is the second time in
>two weeks that new warnings have appeared in -next?
>
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c
>b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c
>index 608fbbaa5a58..13dc628b988a 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec_fs.c
>@@ -518,9 +518,9 @@ macsec_fs_tx_add_rule(struct mlx5e_macsec_fs
>*macsec_fs,
> struct mlx5_pkt_reformat_params reformat_params = {};
> struct mlx5e_macsec_tx *tx_fs = macsec_fs->tx_fs;
> struct net_device *netdev = macsec_fs->netdev;
>+ union mlx5e_macsec_rule *macsec_rule = NULL;
> struct mlx5_flow_destination dest = {};
> struct mlx5e_macsec_tables *tx_tables;
>- union mlx5e_macsec_rule *macsec_rule;
> struct mlx5e_macsec_tx_rule *tx_rule;
> struct mlx5_flow_act flow_act = {};
> struct mlx5_flow_handle *rule;
>@@ -1112,10 +1112,10 @@ macsec_fs_rx_add_rule(struct mlx5e_macsec_fs
>*macsec_fs,
> u8 action[MLX5_UN_SZ_BYTES(set_add_copy_action_in_auto)] = {};
> struct mlx5e_macsec_rx *rx_fs = macsec_fs->rx_fs;
> struct net_device *netdev = macsec_fs->netdev;
>+ union mlx5e_macsec_rule *macsec_rule = NULL;
> struct mlx5_modify_hdr *modify_hdr = NULL;
> struct mlx5_flow_destination dest = {};
> struct mlx5e_macsec_tables *rx_tables;
>- union mlx5e_macsec_rule *macsec_rule;
> struct mlx5e_macsec_rx_rule *rx_rule;
> struct mlx5_flow_act flow_act = {};
> struct mlx5e_flow_table *ft_crypto;
>
>base-commit: 169ccf0e40825d9e465863e4707d8e8546d3c3cb
>--
>2.37.3
Powered by blists - more mailing lists