Lines Matching refs:iname

59 			      const struct qstr *iname,  in ext4_fname_encrypt()  argument
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()
136 const struct ext4_str *iname, in ext4_fname_decrypt() argument
148 if (iname->len <= 0 || iname->len > ctx->lim) in ext4_fname_decrypt()
151 tmp_in[0].name = iname->name; 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()
534 const struct ext4_str *iname, in _ext4_fname_disk_to_usr() argument
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()
552 return ext4_fname_decrypt(ctx, iname, oname); 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()
564 memcpy(buf + 8, iname->name + iname->len - 16, 16); in _ext4_fname_disk_to_usr()
576 struct ext4_str iname = {.name = (unsigned char *) de->name, in ext4_fname_disk_to_usr() local
579 return _ext4_fname_disk_to_usr(ctx, hinfo, &iname, oname); in ext4_fname_disk_to_usr()
587 const struct qstr *iname, in ext4_fname_usr_to_disk() argument
594 if (iname->len < 3) { in ext4_fname_usr_to_disk()
596 if (iname->name[0] == '.' && 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()
605 res = ext4_fname_encrypt(ctx, iname, oname); in ext4_fname_usr_to_disk()
618 const struct qstr *iname, in ext4_fname_usr_to_hash() argument
626 ((iname->name[0] == '.') && in ext4_fname_usr_to_hash()
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()
633 if (!ctx->has_valid_key && iname->name[0] == '_') { 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()
644 if (!ctx->has_valid_key && iname->name[0] != '_') { 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()
657 ret = ext4_fname_encrypt(ctx, iname, &tmp); in ext4_fname_usr_to_hash()