mirror of
https://github.com/torvalds/linux.git
synced 2024-12-06 02:52:22 +00:00
net/mlx5e: Fix MACsec SA initialization routine
Currently as part of MACsec SA initialization routine
extended packet number (EPN) object attribute is always
being set without checking if EPN is actually enabled,
the above could lead to a NULL dereference.
Fix by adding such a check.
Fixes: 4411a6c0ab
("net/mlx5e: Support MACsec offload extended packet number (EPN)")
Signed-off-by: Emeel Hakim <ehakim@nvidia.com>
Reviewed-by: Raed Salem <raeds@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
11abca031e
commit
d20a56b0eb
@ -368,15 +368,15 @@ static int mlx5e_macsec_init_sa(struct macsec_context *ctx,
|
||||
obj_attrs.aso_pdn = macsec->aso.pdn;
|
||||
obj_attrs.epn_state = sa->epn_state;
|
||||
|
||||
if (is_tx) {
|
||||
obj_attrs.ssci = cpu_to_be32((__force u32)ctx->sa.tx_sa->ssci);
|
||||
key = &ctx->sa.tx_sa->key;
|
||||
} else {
|
||||
obj_attrs.ssci = cpu_to_be32((__force u32)ctx->sa.rx_sa->ssci);
|
||||
key = &ctx->sa.rx_sa->key;
|
||||
key = (is_tx) ? &ctx->sa.tx_sa->key : &ctx->sa.rx_sa->key;
|
||||
|
||||
if (sa->epn_state.epn_enabled) {
|
||||
obj_attrs.ssci = (is_tx) ? cpu_to_be32((__force u32)ctx->sa.tx_sa->ssci) :
|
||||
cpu_to_be32((__force u32)ctx->sa.rx_sa->ssci);
|
||||
|
||||
memcpy(&obj_attrs.salt, &key->salt, sizeof(key->salt));
|
||||
}
|
||||
|
||||
memcpy(&obj_attrs.salt, &key->salt, sizeof(key->salt));
|
||||
obj_attrs.replay_window = ctx->secy->replay_window;
|
||||
obj_attrs.replay_protect = ctx->secy->replay_protect;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user