| From 838ae7f96c139435a4c760d92906128b74502e9c Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 24 Jun 2021 11:38:30 +0200 |
| Subject: net: atlantic: fix the macsec key length |
| |
| From: Antoine Tenart <atenart@kernel.org> |
| |
| [ Upstream commit d67fb4772d9a6cfd10f1109f0e7b1e6eb58c8e16 ] |
| |
| The key length used to store the macsec key was set to MACSEC_KEYID_LEN |
| (16), which is an issue as: |
| - This was never meant to be the key length. |
| - The key length can be > 16. |
| |
| Fix this by using MACSEC_MAX_KEY_LEN instead (the max length accepted in |
| uAPI). |
| |
| Fixes: 27736563ce32 ("net: atlantic: MACSec egress offload implementation") |
| Fixes: 9ff40a751a6f ("net: atlantic: MACSec ingress offload implementation") |
| Reported-by: Lior Nahmanson <liorna@nvidia.com> |
| Signed-off-by: Antoine Tenart <atenart@kernel.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/aquantia/atlantic/aq_macsec.h | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_macsec.h b/drivers/net/ethernet/aquantia/atlantic/aq_macsec.h |
| index f5fba8b8cdea..a47e2710487e 100644 |
| --- a/drivers/net/ethernet/aquantia/atlantic/aq_macsec.h |
| +++ b/drivers/net/ethernet/aquantia/atlantic/aq_macsec.h |
| @@ -91,7 +91,7 @@ struct aq_macsec_txsc { |
| u32 hw_sc_idx; |
| unsigned long tx_sa_idx_busy; |
| const struct macsec_secy *sw_secy; |
| - u8 tx_sa_key[MACSEC_NUM_AN][MACSEC_KEYID_LEN]; |
| + u8 tx_sa_key[MACSEC_NUM_AN][MACSEC_MAX_KEY_LEN]; |
| struct aq_macsec_tx_sc_stats stats; |
| struct aq_macsec_tx_sa_stats tx_sa_stats[MACSEC_NUM_AN]; |
| }; |
| @@ -101,7 +101,7 @@ struct aq_macsec_rxsc { |
| unsigned long rx_sa_idx_busy; |
| const struct macsec_secy *sw_secy; |
| const struct macsec_rx_sc *sw_rxsc; |
| - u8 rx_sa_key[MACSEC_NUM_AN][MACSEC_KEYID_LEN]; |
| + u8 rx_sa_key[MACSEC_NUM_AN][MACSEC_MAX_KEY_LEN]; |
| struct aq_macsec_rx_sa_stats rx_sa_stats[MACSEC_NUM_AN]; |
| }; |
| |
| -- |
| 2.30.2 |
| |