MCPcopy Create free account
hub / github.com/F-Stack/f-stack / crypto_copyback

Function crypto_copyback

freebsd/opencrypto/criov.c:592–627  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

590}
591
592void
593crypto_copyback(struct cryptop *crp, int off, int size, const void *src)
594{
595 struct crypto_buffer *cb;
596
597 if (crp->crp_obuf.cb_type != CRYPTO_BUF_NONE)
598 cb = &crp->crp_obuf;
599 else
600 cb = &crp->crp_buf;
601 switch (cb->cb_type) {
602 case CRYPTO_BUF_MBUF:
603 m_copyback(cb->cb_mbuf, off, size, src);
604 break;
605#if CRYPTO_MAY_HAVE_VMPAGE
606 case CRYPTO_BUF_VMPAGE:
607 MPASS(size <= cb->cb_vm_page_len);
608 MPASS(size + off <=
609 cb->cb_vm_page_len + cb->cb_vm_page_offset);
610 cvm_page_copyback(cb->cb_vm_page,
611 off + cb->cb_vm_page_offset, size, src);
612 break;
613#endif /* CRYPTO_MAY_HAVE_VMPAGE */
614 case CRYPTO_BUF_UIO:
615 cuio_copyback(cb->cb_uio, off, size, src);
616 break;
617 case CRYPTO_BUF_CONTIG:
618 MPASS(off + size <= cb->cb_buf_len);
619 bcopy(src, cb->cb_buf + off, size);
620 break;
621 default:
622#ifdef INVARIANTS
623 panic("invalid crp buf type %d", cb->cb_type);
624#endif
625 break;
626 }
627}
628
629void
630crypto_copydata(struct cryptop *crp, int off, int size, void *dst)

Callers 15

ossl_processFunction · 0.85
blake2_cipher_processFunction · 0.85
aesni_cipher_cryptFunction · 0.85
aesni_cipher_macFunction · 0.85
ccp_do_hmac_doneFunction · 0.85
padlock_cipher_processFunction · 0.85
padlock_authcomputeFunction · 0.85
cryptocteon_processFunction · 0.85
swcr_authcomputeFunction · 0.85
swcr_gmacFunction · 0.85

Calls 4

m_copybackFunction · 0.85
cvm_page_copybackFunction · 0.85
cuio_copybackFunction · 0.85
panicFunction · 0.50

Tested by

no test coverage detected