Lines Matching refs:len
74 if (iname->len <= 0 || iname->len > lim) in ext4_fname_encrypt()
77 ciphertext_len = (iname->len < EXT4_CRYPTO_BLOCK_SIZE) ? in ext4_fname_encrypt()
78 EXT4_CRYPTO_BLOCK_SIZE : iname->len; in ext4_fname_encrypt()
105 memcpy(workbuf, iname->name, iname->len); in ext4_fname_encrypt()
106 if (iname->len < ciphertext_len) in ext4_fname_encrypt()
107 memset(workbuf + iname->len, 0, ciphertext_len - iname->len); in ext4_fname_encrypt()
127 oname->len = ciphertext_len; in ext4_fname_encrypt()
152 if (iname->len <= 0 || iname->len > lim) in ext4_fname_decrypt()
156 tmp_in[0].len = iname->len; in ext4_fname_decrypt()
174 sg_init_one(&src_sg, iname->name, iname->len); in ext4_fname_decrypt()
175 sg_init_one(&dst_sg, oname->name, oname->len); in ext4_fname_decrypt()
176 ablkcipher_request_set_crypt(req, &src_sg, &dst_sg, iname->len, iv); in ext4_fname_decrypt()
190 oname->len = strnlen(oname->name, iname->len); in ext4_fname_decrypt()
191 return oname->len; in ext4_fname_decrypt()
203 static int digest_encode(const char *src, int len, char *dst) in digest_encode() argument
208 while (i < len) { in digest_encode()
223 static int digest_decode(const char *src, int len, char *dst) in digest_decode() argument
229 while (i < len) { in digest_decode()
280 crypto_str->len = olen; in ext4_fname_crypto_alloc_buffer()
315 if (iname->len < 3) { in _ext4_fname_disk_to_usr()
317 if (iname->name[0] == '.' && iname->name[iname->len-1] == '.') { in _ext4_fname_disk_to_usr()
319 oname->name[iname->len-1] = '.'; in _ext4_fname_disk_to_usr()
320 oname->len = iname->len; in _ext4_fname_disk_to_usr()
321 return oname->len; in _ext4_fname_disk_to_usr()
324 if (iname->len < EXT4_CRYPTO_BLOCK_SIZE) { in _ext4_fname_disk_to_usr()
331 if (iname->len <= EXT4_FNAME_CRYPTO_DIGEST_SIZE) { in _ext4_fname_disk_to_usr()
332 ret = digest_encode(iname->name, iname->len, oname->name); in _ext4_fname_disk_to_usr()
333 oname->len = ret; in _ext4_fname_disk_to_usr()
341 memcpy(buf + 8, iname->name + ((iname->len - 17) & ~15), 16); in _ext4_fname_disk_to_usr()
344 oname->len = ret + 1; in _ext4_fname_disk_to_usr()
354 .len = de->name_len }; in ext4_fname_disk_to_usr()
370 if (iname->len < 3) { in ext4_fname_usr_to_disk()
373 iname->name[iname->len-1] == '.') { in ext4_fname_usr_to_disk()
375 oname->name[iname->len-1] = '.'; in ext4_fname_usr_to_disk()
376 oname->len = iname->len; in ext4_fname_usr_to_disk()
377 return oname->len; in ext4_fname_usr_to_disk()
401 ((iname->len == 1) || in ext4_fname_setup_filename()
402 ((iname->name[1] == '.') && (iname->len == 2))))) { in ext4_fname_setup_filename()
404 fname->disk_name.len = iname->len; in ext4_fname_setup_filename()
412 ret = ext4_fname_crypto_alloc_buffer(dir, iname->len, in ext4_fname_setup_filename()
420 fname->disk_name.len = fname->crypto_buf.len; in ext4_fname_setup_filename()
431 if ((bigname && (iname->len != 33)) || in ext4_fname_setup_filename()
432 (!bigname && (iname->len > 43))) in ext4_fname_setup_filename()
438 ret = digest_decode(iname->name + bigname, iname->len - bigname, in ext4_fname_setup_filename()
444 fname->crypto_buf.len = ret; in ext4_fname_setup_filename()
450 fname->disk_name.len = fname->crypto_buf.len; in ext4_fname_setup_filename()