| 1211 | } |
| 1212 | |
| 1213 | size_t |
| 1214 | crypto_buffer_len(struct crypto_buffer *cb) |
| 1215 | { |
| 1216 | switch (cb->cb_type) { |
| 1217 | case CRYPTO_BUF_CONTIG: |
| 1218 | return (cb->cb_buf_len); |
| 1219 | case CRYPTO_BUF_MBUF: |
| 1220 | if (cb->cb_mbuf->m_flags & M_PKTHDR) |
| 1221 | return (cb->cb_mbuf->m_pkthdr.len); |
| 1222 | return (m_length(cb->cb_mbuf, NULL)); |
| 1223 | case CRYPTO_BUF_VMPAGE: |
| 1224 | return (cb->cb_vm_page_len); |
| 1225 | case CRYPTO_BUF_UIO: |
| 1226 | return (cb->cb_uio->uio_resid); |
| 1227 | default: |
| 1228 | return (0); |
| 1229 | } |
| 1230 | } |
| 1231 | |
| 1232 | #ifdef INVARIANTS |
| 1233 | /* Various sanity checks on crypto requests. */ |
no test coverage detected