FreeBSD Bugzilla – Attachment 222488 Details for
Bug 252316
[PATCH] add OCF offloading to ZFS
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
The patch with OpenZFS contrib files excluded
freebsd-14-ocf-sha256.diff (text/plain), 3.98 KB, created by
Jeremy Faulkner
on 2021-02-16 13:21:48 UTC
(
hide
)
Description:
The patch with OpenZFS contrib files excluded
Filename:
MIME Type:
Creator:
Jeremy Faulkner
Created:
2021-02-16 13:21:48 UTC
Size:
3.98 KB
patch
obsolete
>diff --git a/sys/crypto/aesni/aesni.c b/sys/crypto/aesni/aesni.c >index 4debbae12c2..af83f68ddbe 100644 >--- a/sys/crypto/aesni/aesni.c >+++ b/sys/crypto/aesni/aesni.c >@@ -892,7 +892,7 @@ aesni_cipher_mac(struct aesni_session *ses, struct cryptop *crp, > if (crp->crp_aad != NULL) > ses->hash_update(&sctx, crp->crp_aad, > crp->crp_aad_length); >- else >+ else if (crp->crp_aad_length != 0) > crypto_apply(crp, crp->crp_aad_start, > crp->crp_aad_length, ses->hash_update, &sctx); > if (CRYPTO_HAS_OUTPUT_BUFFER(crp) && >@@ -901,6 +901,11 @@ aesni_cipher_mac(struct aesni_session *ses, struct cryptop *crp, > crp->crp_payload_output_start, > crp->crp_payload_length, > ses->hash_update, &sctx); >+ else if (CRYPTO_HAS_OUTPUT_BUFFER(crp)) >+ crypto_apply_buf(&crp->crp_buf, >+ crp->crp_digest_start, >+ crypto_buffer_len(&crp->crp_buf), >+ ses->hash_update, &sctx); > else > crypto_apply(crp, crp->crp_payload_start, > crp->crp_payload_length, >diff --git a/sys/crypto/openssl/ossl.c b/sys/crypto/openssl/ossl.c >index 35f19c9fbca..502c2b6770f 100644 >--- a/sys/crypto/openssl/ossl.c >+++ b/sys/crypto/openssl/ossl.c >@@ -204,7 +204,7 @@ ossl_process(device_t dev, struct cryptop *crp, int hint) > const struct crypto_session_params *csp; > struct ossl_session *s; > struct auth_hash *axf; >- int error; >+ int error = 0; > bool fpu_entered; > > s = crypto_get_driver_session(crp->crp_session); >@@ -225,14 +225,20 @@ ossl_process(device_t dev, struct cryptop *crp, int hint) > > if (crp->crp_aad != NULL) > error = axf->Update(&ctx, crp->crp_aad, crp->crp_aad_length); >- else >+ else if (crp->crp_aad_length != 0) > error = crypto_apply(crp, crp->crp_aad_start, > crp->crp_aad_length, axf->Update, &ctx); >+ > if (error) > goto out; > >- error = crypto_apply(crp, crp->crp_payload_start, >- crp->crp_payload_length, axf->Update, &ctx); >+ if (crp->crp_aad_length == 0 && crp->crp_payload_length == 0) >+ error = crypto_apply_buf(&crp->crp_buf, crp->crp_digest_start, >+ crypto_buffer_len(&crp->crp_buf), axf->Update, &ctx); >+ else >+ error = crypto_apply(crp, crp->crp_payload_start, >+ crp->crp_payload_length, axf->Update, &ctx); >+ > if (error) > goto out; > >diff --git a/sys/dev/safexcel/safexcel.c b/sys/dev/safexcel/safexcel.c >index 71300dcb039..89afbe5386e 100644 >--- a/sys/dev/safexcel/safexcel.c >+++ b/sys/dev/safexcel/safexcel.c >@@ -1672,7 +1672,12 @@ safexcel_instr_sha_hash(struct safexcel_request *req, > > /* Pass the input data to the hash engine. */ > instr->opcode = SAFEXCEL_INSTR_OPCODE_DIRECTION; >- instr->length = crp->crp_payload_length; >+ >+ if (crp->crp_payload_length == 0) >+ instr->length = crypto_buffer_len(&crp->crp_buf); >+ else >+ instr->length = crp->crp_payload_length; >+ > instr->status = SAFEXCEL_INSTR_STATUS_LAST_HASH; > instr->instructions = SAFEXCEL_INSTR_DEST_HASH; > instr++; >diff --git a/sys/opencrypto/cryptosoft.c b/sys/opencrypto/cryptosoft.c >index e5a1139039d..a96c04d59dc 100644 >--- a/sys/opencrypto/cryptosoft.c >+++ b/sys/opencrypto/cryptosoft.c >@@ -321,7 +321,7 @@ swcr_authcompute(struct swcr_session *ses, struct cryptop *crp) > struct swcr_auth *sw; > struct auth_hash *axf; > union authctx ctx; >- int err; >+ int err = 0; > > sw = &ses->swcr_auth; > >@@ -337,7 +337,7 @@ swcr_authcompute(struct swcr_session *ses, struct cryptop *crp) > > if (crp->crp_aad != NULL) > err = axf->Update(&ctx, crp->crp_aad, crp->crp_aad_length); >- else >+ else if (crp->crp_aad_length != 0) > err = crypto_apply(crp, crp->crp_aad_start, crp->crp_aad_length, > axf->Update, &ctx); > if (err) >@@ -348,6 +348,9 @@ swcr_authcompute(struct swcr_session *ses, struct cryptop *crp) > err = crypto_apply_buf(&crp->crp_obuf, > crp->crp_payload_output_start, crp->crp_payload_length, > axf->Update, &ctx); >+ else if (CRYPTO_HAS_OUTPUT_BUFFER(crp) ) >+ err = crypto_apply_buf(&crp->crp_buf, crp->crp_digest_start, >+ crypto_buffer_len(&crp->crp_buf), axf->Update, &ctx); > else > err = crypto_apply(crp, crp->crp_payload_start, > crp->crp_payload_length, axf->Update, &ctx);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 252316
:
221152
|
222488
|
234523
|
234528
|
234665
|
234740