From: Lee Ryder Date: Tue, 21 Feb 2017 09:40:45 +0000 (+0800) Subject: macsec: fix validation failed in asynchronous operation. X-Git-Tag: v4.14-rc1~1463^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b3bdc3acbb44d74d0b7ba4d97169577a2b46dc88;p=platform%2Fkernel%2Flinux-rpi3.git 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: Ryder Lee Signed-off-by: David S. Miller --- diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c index 778a773..ff0a5ed 100644 --- a/drivers/net/macsec.c +++ b/drivers/net/macsec.c @@ -879,6 +879,9 @@ static void macsec_decrypt_done(struct crypto_async_request *base, int err) aead_request_free(macsec_skb_cb(skb)->req); + if (!err) + macsec_skb_cb(skb)->valid = true; + rcu_read_lock_bh(); pn = ntohl(macsec_ethhdr(skb)->packet_number); if (!macsec_post_decrypt(skb, &macsec->secy, pn)) {