Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/qat/qat.c
Show First 20 Lines • Show All 1,817 Lines • ▼ Show 20 Lines | qat_crypto_sym_rxintr(struct qat_softc *sc, void *arg, void *msg) | ||||
if (crp->crp_aad != NULL) | if (crp->crp_aad != NULL) | ||||
qat_crypto_sym_dma_unload(qsc, QAT_SYM_DMA_AADBUF); | qat_crypto_sym_dma_unload(qsc, QAT_SYM_DMA_AADBUF); | ||||
qat_crypto_sym_dma_unload(qsc, QAT_SYM_DMA_BUF); | qat_crypto_sym_dma_unload(qsc, QAT_SYM_DMA_BUF); | ||||
if (CRYPTO_HAS_OUTPUT_BUFFER(crp)) | if (CRYPTO_HAS_OUTPUT_BUFFER(crp)) | ||||
qat_crypto_sym_dma_unload(qsc, QAT_SYM_DMA_OBUF); | qat_crypto_sym_dma_unload(qsc, QAT_SYM_DMA_OBUF); | ||||
error = 0; | error = 0; | ||||
if ((auth_sz = qs->qs_auth_mlen) != 0) { | if ((auth_sz = qs->qs_auth_mlen) != 0 && | ||||
(crp->crp_op & CRYPTO_OP_SKIP_DIGEST) == 0) { | |||||
if ((crp->crp_op & CRYPTO_OP_VERIFY_DIGEST) != 0) { | if ((crp->crp_op & CRYPTO_OP_VERIFY_DIGEST) != 0) { | ||||
crypto_copydata(crp, crp->crp_digest_start, | crypto_copydata(crp, crp->crp_digest_start, | ||||
auth_sz, icv); | auth_sz, icv); | ||||
if (timingsafe_bcmp(icv, qsc->qsc_auth_res, | if (timingsafe_bcmp(icv, qsc->qsc_auth_res, | ||||
auth_sz) != 0) { | auth_sz) != 0) { | ||||
error = EBADMSG; | error = EBADMSG; | ||||
} | } | ||||
} else { | } else { | ||||
▲ Show 20 Lines • Show All 475 Lines • Show Last 20 Lines |