Lines Matching refs:len
80 if (iname->len <= 0 || iname->len > lim) in ext4_fname_encrypt()
83 ciphertext_len = (iname->len < EXT4_CRYPTO_BLOCK_SIZE) ? in ext4_fname_encrypt()
84 EXT4_CRYPTO_BLOCK_SIZE : iname->len; in ext4_fname_encrypt()
111 memcpy(workbuf, iname->name, iname->len); in ext4_fname_encrypt()
112 if (iname->len < ciphertext_len) in ext4_fname_encrypt()
113 memset(workbuf + iname->len, 0, ciphertext_len - iname->len); in ext4_fname_encrypt()
134 oname->len = ciphertext_len; in ext4_fname_encrypt()
159 if (iname->len <= 0 || iname->len > lim) in ext4_fname_decrypt()
163 tmp_in[0].len = iname->len; in ext4_fname_decrypt()
181 sg_init_one(&src_sg, iname->name, iname->len); in ext4_fname_decrypt()
182 sg_init_one(&dst_sg, oname->name, oname->len); in ext4_fname_decrypt()
183 ablkcipher_request_set_crypt(req, &src_sg, &dst_sg, iname->len, iv); in ext4_fname_decrypt()
198 oname->len = strnlen(oname->name, iname->len); in ext4_fname_decrypt()
199 return oname->len; in ext4_fname_decrypt()
211 static int digest_encode(const char *src, int len, char *dst) in digest_encode() argument
216 while (i < len) { in digest_encode()
231 static int digest_decode(const char *src, int len, char *dst) in digest_decode() argument
237 while (i < len) { in digest_decode()
288 crypto_str->len = olen; in ext4_fname_crypto_alloc_buffer()
323 if (iname->len < 3) { in _ext4_fname_disk_to_usr()
325 if (iname->name[0] == '.' && iname->name[iname->len-1] == '.') { in _ext4_fname_disk_to_usr()
327 oname->name[iname->len-1] = '.'; in _ext4_fname_disk_to_usr()
328 oname->len = iname->len; in _ext4_fname_disk_to_usr()
329 return oname->len; in _ext4_fname_disk_to_usr()
335 if (iname->len <= EXT4_FNAME_CRYPTO_DIGEST_SIZE) { in _ext4_fname_disk_to_usr()
336 ret = digest_encode(iname->name, iname->len, oname->name); in _ext4_fname_disk_to_usr()
337 oname->len = ret; in _ext4_fname_disk_to_usr()
345 memcpy(buf + 8, iname->name + iname->len - 16, 16); in _ext4_fname_disk_to_usr()
348 oname->len = ret + 1; in _ext4_fname_disk_to_usr()
358 .len = de->name_len }; in ext4_fname_disk_to_usr()
374 if (iname->len < 3) { in ext4_fname_usr_to_disk()
377 iname->name[iname->len-1] == '.') { in ext4_fname_usr_to_disk()
379 oname->name[iname->len-1] = '.'; in ext4_fname_usr_to_disk()
380 oname->len = iname->len; in ext4_fname_usr_to_disk()
381 return oname->len; in ext4_fname_usr_to_disk()
405 ((iname->len == 1) || in ext4_fname_setup_filename()
406 ((iname->name[1] == '.') && (iname->len == 2))))) { in ext4_fname_setup_filename()
408 fname->disk_name.len = iname->len; in ext4_fname_setup_filename()
416 ret = ext4_fname_crypto_alloc_buffer(dir, iname->len, in ext4_fname_setup_filename()
424 fname->disk_name.len = fname->crypto_buf.len; in ext4_fname_setup_filename()
435 if ((bigname && (iname->len != 33)) || in ext4_fname_setup_filename()
436 (!bigname && (iname->len > 43))) in ext4_fname_setup_filename()
442 ret = digest_decode(iname->name + bigname, iname->len - bigname, in ext4_fname_setup_filename()
448 fname->crypto_buf.len = ret; in ext4_fname_setup_filename()
454 fname->disk_name.len = fname->crypto_buf.len; in ext4_fname_setup_filename()