Lines Matching refs:len

72 	if (iname->len <= 0 || iname->len > ctx->lim)  in ext4_fname_encrypt()
75 ciphertext_len = (iname->len < EXT4_CRYPTO_BLOCK_SIZE) ? in ext4_fname_encrypt()
76 EXT4_CRYPTO_BLOCK_SIZE : iname->len; in ext4_fname_encrypt()
96 memcpy(workbuf, iname->name, iname->len); in ext4_fname_encrypt()
97 if (iname->len < ciphertext_len) in ext4_fname_encrypt()
98 memset(workbuf + iname->len, 0, ciphertext_len - iname->len); in ext4_fname_encrypt()
124 oname->len = ciphertext_len; in ext4_fname_encrypt()
148 if (iname->len <= 0 || iname->len > ctx->lim) in ext4_fname_decrypt()
152 tmp_in[0].len = iname->len; in ext4_fname_decrypt()
170 memcpy(workbuf, iname->name, iname->len); in ext4_fname_decrypt()
178 ablkcipher_request_set_crypt(req, sg, sg, iname->len, iv); in ext4_fname_decrypt()
187 memcpy(oname->name, workbuf, iname->len); in ext4_fname_decrypt()
188 res = iname->len; in ext4_fname_decrypt()
199 oname->len = strnlen(oname->name, iname->len); in ext4_fname_decrypt()
200 return oname->len; in ext4_fname_decrypt()
212 static int digest_encode(const char *src, int len, char *dst) in digest_encode() argument
217 while (i < len) { in digest_encode()
232 static int digest_decode(const char *src, int len, char *dst) in digest_decode() argument
238 while (i < len) { in digest_decode()
505 crypto_str->len = olen; in ext4_fname_crypto_alloc_buffer()
542 if (iname->len < 3) { in _ext4_fname_disk_to_usr()
544 if (iname->name[0] == '.' && iname->name[iname->len-1] == '.') { in _ext4_fname_disk_to_usr()
546 oname->name[iname->len-1] = '.'; in _ext4_fname_disk_to_usr()
547 oname->len = iname->len; in _ext4_fname_disk_to_usr()
548 return oname->len; in _ext4_fname_disk_to_usr()
554 if (iname->len <= EXT4_FNAME_CRYPTO_DIGEST_SIZE) { in _ext4_fname_disk_to_usr()
555 ret = digest_encode(iname->name, iname->len, oname->name); in _ext4_fname_disk_to_usr()
556 oname->len = ret; in _ext4_fname_disk_to_usr()
564 memcpy(buf + 8, iname->name + iname->len - 16, 16); in _ext4_fname_disk_to_usr()
567 oname->len = ret + 1; in _ext4_fname_disk_to_usr()
577 .len = de->name_len }; in ext4_fname_disk_to_usr()
594 if (iname->len < 3) { in ext4_fname_usr_to_disk()
597 iname->name[iname->len-1] == '.') { in ext4_fname_usr_to_disk()
599 oname->name[iname->len-1] = '.'; in ext4_fname_usr_to_disk()
600 oname->len = iname->len; in ext4_fname_usr_to_disk()
601 return oname->len; in ext4_fname_usr_to_disk()
627 ((iname->len == 1) || in ext4_fname_usr_to_hash()
628 ((iname->name[1] == '.') && (iname->len == 2))))) { in ext4_fname_usr_to_hash()
629 ext4fs_dirhash(iname->name, iname->len, hinfo); in ext4_fname_usr_to_hash()
634 if (iname->len != 33) in ext4_fname_usr_to_hash()
636 ret = digest_decode(iname->name+1, iname->len, buf); in ext4_fname_usr_to_hash()
645 if (iname->len > 43) in ext4_fname_usr_to_hash()
647 ret = digest_decode(iname->name, iname->len, buf); in ext4_fname_usr_to_hash()
653 ret = ext4_fname_crypto_alloc_buffer(ctx, iname->len, &tmp); in ext4_fname_usr_to_hash()
659 ext4fs_dirhash(tmp.name, tmp.len, hinfo); in ext4_fname_usr_to_hash()
668 int len, const char * const name, in ext4_fname_match() argument
678 ret = ext4_fname_crypto_alloc_buffer(ctx, len, cstr); in ext4_fname_match()
682 istr.len = len; in ext4_fname_match()
692 if ((bigname && (len != 33)) || in ext4_fname_match()
693 (!bigname && (len > 43))) in ext4_fname_match()
695 ret = digest_decode(name+bigname, len-bigname, in ext4_fname_match()
701 cstr->len = ret; in ext4_fname_match()
711 if (de->name_len != cstr->len) in ext4_fname_match()
713 ret = memcmp(de->name, cstr->name, cstr->len); in ext4_fname_match()