/linux/drivers/s390/cio/ |
H A D | airq.c | 130 struct airq_iv *iv; in airq_iv_create() local 133 iv = kzalloc(sizeof(*iv), GFP_KERNEL); in airq_iv_create() 134 if (!iv) in airq_iv_create() 136 iv->bits = bits; in airq_iv_create() 137 iv->flags = flags; in airq_iv_create() 145 iv->vector = dma_pool_zalloc(airq_iv_cache, GFP_KERNEL, in airq_iv_create() 146 &iv->vector_dma); in airq_iv_create() 147 if (!iv->vector) in airq_iv_create() 150 iv->vector = vec; in airq_iv_create() 152 iv->vector = cio_dma_zalloc(size); in airq_iv_create() [all …]
|
/linux/arch/s390/include/asm/ |
H A D | airq.h | 53 void airq_iv_release(struct airq_iv *iv); 54 unsigned long airq_iv_alloc(struct airq_iv *iv, unsigned long num); 55 void airq_iv_free(struct airq_iv *iv, unsigned long bit, unsigned long num); 56 unsigned long airq_iv_scan(struct airq_iv *iv, unsigned long start, 59 static inline unsigned long airq_iv_alloc_bit(struct airq_iv *iv) in airq_iv_alloc_bit() argument 61 return airq_iv_alloc(iv, 1); in airq_iv_alloc_bit() 64 static inline void airq_iv_free_bit(struct airq_iv *iv, unsigned long bit) in airq_iv_free_bit() argument 66 airq_iv_free(iv, bit, 1); in airq_iv_free_bit() 69 static inline unsigned long airq_iv_end(struct airq_iv *iv) in airq_iv_end() argument 71 return iv->end; in airq_iv_end() [all …]
|
/linux/net/mac80211/ |
H A D | wep.c | 28 /* start WEP IV from a random value */ in ieee80211_wep_init() 32 static inline bool ieee80211_wep_weak_iv(u32 iv, int keylen) in ieee80211_wep_weak_iv() argument 39 if ((iv & 0xff00) == 0xff00) { in ieee80211_wep_weak_iv() 40 u8 B = (iv >> 16) & 0xff; in ieee80211_wep_weak_iv() 49 int keylen, int keyidx, u8 *iv) in ieee80211_wep_get_iv() argument 55 if (!iv) in ieee80211_wep_get_iv() 58 *iv++ = (local->wep_iv >> 16) & 0xff; in ieee80211_wep_get_iv() 59 *iv++ = (local->wep_iv >> 8) & 0xff; in ieee80211_wep_get_iv() 60 *iv++ = local->wep_iv & 0xff; in ieee80211_wep_get_iv() 61 *iv++ = keyidx << 6; in ieee80211_wep_get_iv() [all …]
|
/linux/drivers/net/wireless/ralink/rt2x00/ |
H A D | rt2x00crypto.c | 74 * Extend frame length to include IV/EIV/ICV/MMIC, in rt2x00crypto_tx_overhead() 98 /* Copy IV/EIV data */ in rt2x00crypto_tx_copy_iv() 99 memcpy(skbdesc->iv, skb->data + txdesc->iv_offset, txdesc->iv_len); in rt2x00crypto_tx_copy_iv() 109 /* Copy IV/EIV data */ in rt2x00crypto_tx_remove_iv() 110 memcpy(skbdesc->iv, skb->data + txdesc->iv_offset, txdesc->iv_len); in rt2x00crypto_tx_remove_iv() 119 /* IV/EIV data has officially been stripped */ in rt2x00crypto_tx_remove_iv() 127 ((!!(skbdesc->iv[0])) * 4) + ((!!(skbdesc->iv[1])) * 4); in rt2x00crypto_tx_insert_iv() 137 /* Copy IV/EIV data */ in rt2x00crypto_tx_insert_iv() 138 memcpy(skb->data + header_length, skbdesc->iv, iv_len); in rt2x00crypto_tx_insert_iv() 140 /* IV/EIV data has returned into the frame */ in rt2x00crypto_tx_insert_iv() [all …]
|
/linux/lib/crypto/ |
H A D | chacha20poly1305.c | 37 u8 iv[CHACHA_IV_SIZE]; in xchacha_init() local 39 memset(iv, 0, 8); in xchacha_init() 40 memcpy(iv + 8, nonce + 16, 8); in xchacha_init() 48 chacha_init(chacha_state, k, iv); in xchacha_init() 51 memzero_explicit(iv, sizeof(iv)); in xchacha_init() 96 __le64 iv[2]; in chacha20poly1305_encrypt() local 100 iv[0] = 0; in chacha20poly1305_encrypt() 101 iv[1] = cpu_to_le64(nonce); in chacha20poly1305_encrypt() 103 chacha_init(&chacha_state, k, (u8 *)iv); in chacha20poly1305_encrypt() 107 memzero_explicit(iv, sizeof(iv)); in chacha20poly1305_encrypt() [all …]
|
H A D | aescfb.c | 20 * In AES-CFB, the AES encryption operates on known 'plaintext' (the IV in aescfb_encrypt_block() 39 * @iv: The initialization vector (IV) to use for this block of data 42 int len, const u8 iv[AES_BLOCK_SIZE]) in aescfb_encrypt() 45 const u8 *v = iv; in aescfb_encrypt() 68 * @iv: The initialization vector (IV) to use for this block of data 71 int len, const u8 iv[AES_BLOCK_SIZE]) in aescfb_decrypt() 75 aescfb_encrypt_block(ctx, ks[0], iv); in aescfb_decrypt() 112 u8 iv[AES_BLOCK_SIZE] __nonstring; member 121 .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" 145 .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" [all …]
|
/linux/net/sunrpc/auth_gss/ |
H A D | gss_krb5_crypto.c | 69 * encryption IV is always all zeroes, the confounder also effectively 70 * functions like an IV. Thus, not only must it be unique from message 89 * @iv: pointer to an IV 94 * @iv may be NULL to force the use of an all-zero IV. 95 * The buffer containing the IV must be as large as the 105 void * iv, in krb5_encrypt() argument 119 dprintk("RPC: gss_k5encrypt: tfm iv size too large %d\n", in krb5_encrypt() 124 if (iv) in krb5_encrypt() 125 memcpy(local_iv, iv, crypto_sync_skcipher_ivsize(tfm)); in krb5_encrypt() 225 u8 iv[GSS_KRB5_MAX_BLOCKSIZE]; member [all …]
|
/linux/arch/arm64/crypto/ |
H A D | sm4-neon-glue.c | 24 u8 *iv, unsigned int nblocks); 26 u8 *iv, unsigned int nblocks); 91 const u8 *iv = walk.iv; in sm4_cbc_encrypt() local 96 crypto_xor_cpy(dst, src, iv, SM4_BLOCK_SIZE); in sm4_cbc_encrypt() 98 iv = dst; in sm4_cbc_encrypt() 103 if (iv != walk.iv) in sm4_cbc_encrypt() 104 memcpy(walk.iv, iv, SM4_BLOCK_SIZE); in sm4_cbc_encrypt() 132 walk.iv, nblocks); in sm4_cbc_decrypt() 163 walk.iv, nblocks); in sm4_ctr_crypt() 176 sm4_crypt_block(ctx->rkey_enc, keystream, walk.iv); in sm4_ctr_crypt() [all …]
|
H A D | aes-modes.S | 116 * int blocks, u8 iv[]) 118 * int blocks, u8 iv[]) 120 * int rounds, int blocks, u8 iv[], 123 * int rounds, int blocks, u8 iv[], 128 ld1 {v4.16b}, [x5] /* get iv */ 137 ld1 {v4.16b}, [x5] /* get iv */ 144 eor v0.16b, v0.16b, v4.16b /* ..and xor with iv */ 160 eor v4.16b, v4.16b, v0.16b /* ..and xor with iv */ 166 st1 {v4.16b}, [x5] /* return iv */ 172 ld1 {cbciv.16b}, [x5] /* get iv */ [all …]
|
/linux/net/qrtr/ |
H A D | ns.c | 114 struct kvec iv; in service_announce_new() local 119 iv.iov_base = &pkt; in service_announce_new() 120 iv.iov_len = sizeof(pkt); in service_announce_new() 132 return kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in service_announce_new() 140 struct kvec iv; in service_announce_del() local 146 iv.iov_base = &pkt; in service_announce_del() 147 iv.iov_len = sizeof(pkt); in service_announce_del() 159 ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in service_announce_del() 171 struct kvec iv; in lookup_notify() local 174 iv.iov_base = &pkt; in lookup_notify() [all …]
|
/linux/include/linux/ |
H A D | ccp.h | 151 * @iv: IV to be used for this AES operation 152 * @iv_len: length in bytes of iv 162 * - iv, iv_len for any mode other than ECB 166 * The iv variable is used as both input and output. On completion of the 167 * AES operation the new IV overwrites the old IV. 179 struct scatterlist *iv; member 218 * @iv: IV to be used for this XTS AES operation 219 * @iv_len: length in bytes of iv 226 * - action, unit_size, key, key_len, iv, iv_len, src, dst, src_len, final 228 * The iv variable is used as both input and output. On completion of the [all …]
|
/linux/tools/testing/crypto/chacha20-s390/ |
H A D | test-cipher.c | 54 u8 iv[16], key[32]; in test_lib_chacha() local 58 memset(iv, 'I', sizeof(iv)); in test_lib_chacha() 64 print_hex_dump(KERN_INFO, "iv: ", DUMP_PREFIX_OFFSET, in test_lib_chacha() 65 16, 1, iv, 16, 1); in test_lib_chacha() 69 chacha_init(&chacha_state, (u32 *)key, iv); in test_lib_chacha() 84 chacha_init(&chacha_state, (u32 *)key, iv); in test_lib_chacha() 131 u8 iv[16], key[32]; in test_skcipher() local 153 memset(iv, 'I', sizeof(iv)); in test_skcipher() [all...] |
/linux/drivers/crypto/cavium/nitrox/ |
H A D | nitrox_req.h | 22 * Params tell the iv and enc/dec data offsets. 88 /* IV from context */ 90 /* IV from Input data */ 127 * @iv: Encryption IV or Tweak for AES-XTS 134 u8 iv[AES_BLOCK_SIZE]; member 181 * @iv_source: Encryption IV source 184 * 1 - Authentication IV and KEY, microcode calculates OPAD/IPAD 226 * @iv: IV data 227 * @ivsize: IV data length 240 u8 *iv; member [all …]
|
H A D | nitrox_aead.c | 94 struct scatterlist *src, char *iv, int ivsize, in alloc_src_sglist() argument 103 /* IV entry */ in alloc_src_sglist() 105 /* Allocate buffer to hold IV and input scatterlist array */ in alloc_src_sglist() 110 nitrox_creq_copy_iv(nkreq->src, iv, ivsize); in alloc_src_sglist() 125 /* IV, ORH, COMPLETION entries */ in alloc_dst_sglist() 175 ret = alloc_src_sglist(&rctx->nkreq, rctx->src, rctx->iv, rctx->ivsize, in nitrox_set_creq() 225 memcpy(fctx->crypto.iv, areq->iv, GCM_AES_SALT_SIZE); in nitrox_aes_gcm_enc() 231 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE]; in nitrox_aes_gcm_enc() 259 memcpy(fctx->crypto.iv, areq->iv, GCM_AES_SALT_SIZE); in nitrox_aes_gcm_dec() 265 rctx->iv = &areq->iv[GCM_AES_SALT_SIZE]; in nitrox_aes_gcm_dec() [all …]
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | linked_list_fail.c | 11 struct map_value *v, *v2, *iv, *iv2; \ 25 iv = bpf_map_lookup_elem(map, &(int){ 0 }); \ 26 if (!iv) \ 66 CHECK(inner_map, pop_front, &iv->head); 67 CHECK(inner_map, pop_back, &iv->head); 89 CHECK(inner_map, push_front, &iv->head, &f->node2); 90 CHECK(inner_map, push_back, &iv->head, &f->node2); 109 CHECK(kptr_inner_map, op, &f1->lock, &iv->head); \ 114 CHECK(global_inner_map, op, &glock, &iv->head); \ 119 CHECK(map_inner_map, op, &v->lock, &iv->head); \ [all …]
|
/linux/io_uring/ |
H A D | rsrc.h | 70 int io_prep_reg_iovec(struct io_kiocb *req, struct iou_vec *iv, 132 void io_vec_free(struct iou_vec *iv); 133 int io_vec_realloc(struct iou_vec *iv, unsigned nr_entries); 135 static inline void io_vec_reset_iovec(struct iou_vec *iv, in io_vec_reset_iovec() argument 138 io_vec_free(iv); in io_vec_reset_iovec() 139 iv->iovec = iovec; in io_vec_reset_iovec() 140 iv->nr = nr; in io_vec_reset_iovec() 143 static inline void io_alloc_cache_vec_kasan(struct iou_vec *iv) in io_alloc_cache_vec_kasan() argument 146 io_vec_free(iv); in io_alloc_cache_vec_kasan()
|
/linux/arch/riscv/crypto/ |
H A D | aes-riscv64-glue.c | 40 u8 iv[AES_BLOCK_SIZE]); 43 u8 iv[AES_BLOCK_SIZE]); 47 const u8 iv[AES_BLOCK_SIZE], bool enc); 51 u8 iv[AES_BLOCK_SIZE]); 188 walk.iv); in riscv64_aes_cbc_crypt() 193 walk.iv); in riscv64_aes_cbc_crypt() 245 cbc_len, req->iv); in riscv64_aes_cbc_cts_crypt() 253 req->cryptlen - cbc_len, req->iv); in riscv64_aes_cbc_cts_crypt() 260 walk.nbytes, req->iv, enc); in riscv64_aes_cbc_cts_crypt() 287 ctr32 = get_unaligned_be32(req->iv + 12); in riscv64_aes_ctr_crypt() [all …]
|
/linux/net/rxrpc/ |
H A D | rxkad.c | 197 struct rxrpc_crypt iv; in rxkad_prime_packet_security() 217 memcpy(&iv, token->kad->session_key, sizeof(iv)); in rxkad_prime_packet_security() 227 skcipher_request_set_crypt(req, &sg, &sg, tmpsize, iv.x); in rxkad_prime_packet_security() 263 struct rxrpc_crypt iv; in rxkad_secure_packet_auth() 283 memset(&iv, 0, sizeof(iv)); in rxkad_secure_packet_auth() 288 skcipher_request_set_crypt(req, &sg, &sg, 8, iv.x); in rxkad_secure_packet_auth() 305 struct rxrpc_crypt iv; in rxkad_secure_packet_encrypt() 326 memcpy(&iv, toke in rxkad_secure_packet_encrypt() 195 struct rxrpc_crypt iv; rxkad_prime_packet_security() local 261 struct rxrpc_crypt iv; rxkad_secure_packet_auth() local 303 struct rxrpc_crypt iv; rxkad_secure_packet_encrypt() local 341 struct rxrpc_crypt iv; rxkad_secure_packet() local 428 struct rxrpc_crypt iv; rxkad_verify_packet_1() local 492 struct rxrpc_crypt iv; rxkad_verify_packet_2() local 570 struct rxrpc_crypt iv; rxkad_verify_packet() local 779 struct rxrpc_crypt iv; rxkad_encrypt_response() local 882 struct rxrpc_crypt iv, key; rxkad_decrypt_ticket() local 1008 struct rxrpc_crypt iv; rxkad_decrypt_response() local [all...] |
/linux/arch/x86/crypto/ |
H A D | aria-avx.h | 22 u8 *keystream, u8 *iv); 29 u8 *keystream, u8 *iv); 37 u8 *keystream, u8 *iv); 44 u8 *keystream, u8 *iv); 50 u8 *keystream, u8 *iv); 54 u8 *keystream, u8 *iv); 58 u8 *keystream, u8 *iv);
|
/linux/Documentation/admin-guide/device-mapper/ |
H A D | dm-crypt.rst | 17 Encryption cipher, encryption mode and Initial Vector (IV) generator. 30 format (selected by capi: prefix). The IV specification is the same 56 in combination with the selected iv mode. 57 Note that for some iv modes the key string can contain additional 58 keys (for example IV seed) so the key contains more parts concatenated 82 The IV offset is a sector count that is added to the sector number 83 before creating the IV. 142 The <type> can be "none" if metadata is used only for persistent IV. 147 used for storing authentication tag (and persistent IV if needed). 160 IV generators will use sector number counted in <sector_size> units [all …]
|
/linux/drivers/ssb/ |
H A D | host_soc.c | 177 struct ssb_init_invariants *iv) in ssb_host_soc_get_invariants() argument 183 memset(&iv->boardinfo, 0, sizeof(struct ssb_boardinfo)); in ssb_host_soc_get_invariants() 187 err = kstrtou16(strim(buf), 0, &iv->boardinfo.vendor); in ssb_host_soc_get_invariants() 192 if (!iv->boardinfo.vendor) in ssb_host_soc_get_invariants() 193 iv->boardinfo.vendor = SSB_BOARDVENDOR_BCM; in ssb_host_soc_get_invariants() 197 err = kstrtou16(strim(buf), 0, &iv->boardinfo.type); in ssb_host_soc_get_invariants() 203 memset(&iv->sprom, 0, sizeof(struct ssb_sprom)); in ssb_host_soc_get_invariants() 204 ssb_fill_sprom_with_fallback(bus, &iv->sprom); in ssb_host_soc_get_invariants() 207 iv->has_cardbus_slot = !!simple_strtoul(buf, NULL, 10); in ssb_host_soc_get_invariants()
|
/linux/block/ |
H A D | t10-pi.c | 136 struct bio_vec iv; in t10_pi_type1_prepare() local 143 bip_for_each_vec(iv, bip, iter) { in t10_pi_type1_prepare() 147 p = bvec_kmap_local(&iv); in t10_pi_type1_prepare() 148 for (j = 0; j < iv.bv_len; j += tuple_sz) { in t10_pi_type1_prepare() 188 struct bio_vec iv; in t10_pi_type1_complete() local 191 bip_for_each_vec(iv, bip, iter) { in t10_pi_type1_complete() 195 p = bvec_kmap_local(&iv); in t10_pi_type1_complete() 196 for (j = 0; j < iv.bv_len && intervals; j += tuple_sz) { in t10_pi_type1_complete() 310 struct bio_vec iv; in ext_pi_type1_prepare() local 317 bip_for_each_vec(iv, bip, iter) { in ext_pi_type1_prepare() [all …]
|
/linux/arch/powerpc/crypto/ |
H A D | aes-spe-glue.c | 61 u32 bytes, u8 *iv); 63 u32 bytes, u8 *iv); 65 u32 bytes, u8 *iv); 67 u32 bytes, u8 *iv, u32 *key_twk); 69 u32 bytes, u8 *iv, u32 *key_twk); 237 walk.iv); in ppc_cbc_crypt() 241 walk.iv); in ppc_cbc_crypt() 277 ctx->key_enc, ctx->rounds, nbytes, walk.iv); in ppc_ctr_crypt() 306 walk.iv, twk); in ppc_xts_crypt() 310 walk.iv, twk); in ppc_xts_crypt() [all …]
|
/linux/drivers/crypto/ |
H A D | padlock-aes.c | 203 u8 *iv, struct cword *control_word, int count) in rep_xcrypt_cbc() argument 206 : "+S" (input), "+D" (output), "+a" (iv) in rep_xcrypt_cbc() 208 return iv; in rep_xcrypt_cbc() 226 u8 *iv, struct cword *cword, int count) in cbc_crypt_copy() argument 236 return rep_xcrypt_cbc(tmp, out, key, iv, cword, count); in cbc_crypt_copy() 254 u8 *iv, struct cword *cword, int count) in cbc_crypt() argument 258 return cbc_crypt_copy(in, out, key, iv, cword, count); in cbc_crypt() 260 return rep_xcrypt_cbc(in, out, key, iv, cword, count); in cbc_crypt() 286 u8 *iv, void *control_word, u32 count) in padlock_xcrypt_cbc() argument 291 return cbc_crypt(input, output, key, iv, control_word, count); in padlock_xcrypt_cbc() [all …]
|
/linux/drivers/crypto/ccp/ |
H A D | ccp-crypto-aes-galois.c | 92 if (!req->iv) in ccp_aes_gcm_crypt() 100 * IV in ccp_aes_gcm_crypt() 104 /* Prepare the IV: 12 bytes + an integer (counter) */ in ccp_aes_gcm_crypt() 105 memcpy(rctx->iv, req->iv, GCM_AES_IV_SIZE); in ccp_aes_gcm_crypt() 107 rctx->iv[i + GCM_AES_IV_SIZE] = 0; in ccp_aes_gcm_crypt() 108 rctx->iv[AES_BLOCK_SIZE - 1] = 1; in ccp_aes_gcm_crypt() 110 /* Set up a scatterlist for the IV */ in ccp_aes_gcm_crypt() 113 sg_init_one(iv_sg, rctx->iv, iv_len); in ccp_aes_gcm_crypt() 125 rctx->cmd.u.aes.iv = iv_sg; in ccp_aes_gcm_crypt()
|