| From foo@baz Fri Aug 12 09:34:33 CEST 2016 |
| From: Beniamino Galvani <bgalvani@redhat.com> |
| Date: Tue, 26 Jul 2016 12:24:53 +0200 |
| Subject: macsec: ensure rx_sa is set when validation is disabled |
| |
| From: Beniamino Galvani <bgalvani@redhat.com> |
| |
| [ Upstream commit e3a3b626010a14fe067f163c2c43409d5afcd2a9 ] |
| |
| macsec_decrypt() is not called when validation is disabled and so |
| macsec_skb_cb(skb)->rx_sa is not set; but it is used later in |
| macsec_post_decrypt(), ensure that it's always initialized. |
| |
| Fixes: c09440f7dcb3 ("macsec: introduce IEEE 802.1AE driver") |
| Signed-off-by: Beniamino Galvani <bgalvani@redhat.com> |
| Acked-by: Sabrina Dubroca <sd@queasysnail.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/macsec.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/macsec.c |
| +++ b/drivers/net/macsec.c |
| @@ -914,7 +914,6 @@ static struct sk_buff *macsec_decrypt(st |
| } |
| |
| macsec_skb_cb(skb)->req = req; |
| - macsec_skb_cb(skb)->rx_sa = rx_sa; |
| skb->dev = dev; |
| aead_request_set_callback(req, 0, macsec_decrypt_done, skb); |
| |
| @@ -1141,6 +1140,8 @@ static rx_handler_result_t macsec_handle |
| } |
| } |
| |
| + macsec_skb_cb(skb)->rx_sa = rx_sa; |
| + |
| /* Disabled && !changed text => skip validation */ |
| if (hdr->tci_an & MACSEC_TCI_C || |
| secy->validate_frames != MACSEC_VALIDATE_DISABLED) |