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
| ||
|
Date: Tue, 9 Jul 2019 15:44:59 -0700 From: Nick Desaulniers <ndesaulniers@...gle.com> To: Nathan Chancellor <natechancellor@...il.com> Cc: Saeed Mahameed <saeedm@...lanox.com>, Leon Romanovsky <leon@...nel.org>, "David S. Miller" <davem@...emloft.net>, Boris Pismenny <borisp@...lanox.com>, netdev@...r.kernel.org, linux-rdma@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>, clang-built-linux <clang-built-linux@...glegroups.com> Subject: Re: [PATCH] net/mlx5e: Return in default case statement in tx_post_resync_params On Mon, Jul 8, 2019 at 4:13 PM Nathan Chancellor <natechancellor@...il.com> wrote: > > clang warns: > > drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c:251:2: > warning: variable 'rec_seq_sz' is used uninitialized whenever switch > default is taken [-Wsometimes-uninitialized] > default: > ^~~~~~~ > drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c:255:46: note: > uninitialized use occurs here > skip_static_post = !memcmp(rec_seq, &rn_be, rec_seq_sz); > ^~~~~~~~~~ > drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c:239:16: note: > initialize the variable 'rec_seq_sz' to silence this warning > u16 rec_seq_sz; > ^ > = 0 > 1 warning generated. > > This case statement was clearly designed to be one that should not be > hit during runtime because of the WARN_ON statement so just return early > to prevent copying uninitialized memory up into rn_be. > > Fixes: d2ead1f360e8 ("net/mlx5e: Add kTLS TX HW offload support") > Link: https://github.com/ClangBuiltLinux/linux/issues/590 > Signed-off-by: Nathan Chancellor <natechancellor@...il.com> > --- > drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c > index 3f5f4317a22b..5c08891806f0 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c > @@ -250,6 +250,7 @@ tx_post_resync_params(struct mlx5e_txqsq *sq, > } > default: > WARN_ON(1); > + return; > } hmm...a switch statement with a single case is a code smell. How about a single conditional with early return? Then the "meat" of the happy path doesn't need an additional level of indentation. -- Thanks, ~Nick Desaulniers
Powered by blists - more mailing lists