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 for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ