Add missing "macsec_skb_cb(skb)->valid = true" in callback
function macsec_decrypt_done(), this fixes packet validation
failed while decrypting asynchronously.

Signed-off-by: Ryder Lee <ryder....@mediatek.com>
---
 drivers/net/macsec.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
index f83cf66..73d8d39 100644
--- a/drivers/net/macsec.c
+++ b/drivers/net/macsec.c
@@ -880,6 +880,9 @@ static void macsec_decrypt_done(struct crypto_async_request 
*base, int err)
        aead_request_free(macsec_skb_cb(skb)->req);
 
        rcu_read_lock_bh();
+       if (err == 0)
+               macsec_skb_cb(skb)->valid = true;
+
        pn = ntohl(macsec_ethhdr(skb)->packet_number);
        if (!macsec_post_decrypt(skb, &macsec->secy, pn)) {
                rcu_read_unlock_bh();
-- 
1.9.1

Reply via email to