Commit b3bdc3ac authored by Lee Ryder's avatar Lee Ryder Committed by David S. Miller

macsec: fix validation failed in asynchronous operation.

MACSec test failed when asynchronous crypto operations is used. It
encounters packet validation failed since macsec_skb_cb(skb)->valid
is always 'false'.

This patch adds missing "macsec_skb_cb(skb)->valid = true" in
macsec_decrypt_done() when "err == 0".
Signed-off-by: default avatarRyder Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8ccde4c5
...@@ -879,6 +879,9 @@ static void macsec_decrypt_done(struct crypto_async_request *base, int err) ...@@ -879,6 +879,9 @@ static void macsec_decrypt_done(struct crypto_async_request *base, int err)
aead_request_free(macsec_skb_cb(skb)->req); aead_request_free(macsec_skb_cb(skb)->req);
if (!err)
macsec_skb_cb(skb)->valid = true;
rcu_read_lock_bh(); rcu_read_lock_bh();
pn = ntohl(macsec_ethhdr(skb)->packet_number); pn = ntohl(macsec_ethhdr(skb)->packet_number);
if (!macsec_post_decrypt(skb, &macsec->secy, pn)) { if (!macsec_post_decrypt(skb, &macsec->secy, pn)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment