net/mlx5e: Return in default case statement in tx_post_resync_params
authorNathan Chancellor <natechancellor@gmail.com>
Mon, 8 Jul 2019 23:11:55 +0000 (16:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Jul 2019 04:40:20 +0000 (21:40 -0700)
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@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c

index 3f5f4317a22b96446c6e8fcea60b6f8c43bd0e8e..5c08891806f0d9bdc426bf39ac7696be399f5a83 100644 (file)
@@ -250,6 +250,7 @@ tx_post_resync_params(struct mlx5e_txqsq *sq,
        }
        default:
                WARN_ON(1);
+               return;
        }
 
        skip_static_post = !memcmp(rec_seq, &rn_be, rec_seq_sz);