Lines Matching refs:iname

64 			      const struct qstr *iname,  in ext4_fname_encrypt()  argument
79 if (iname->len <= 0 || iname->len > lim) in ext4_fname_encrypt()
82 ciphertext_len = (iname->len < EXT4_CRYPTO_BLOCK_SIZE) ? in ext4_fname_encrypt()
83 EXT4_CRYPTO_BLOCK_SIZE : iname->len; in ext4_fname_encrypt()
110 memcpy(workbuf, iname->name, iname->len); in ext4_fname_encrypt()
111 if (iname->len < ciphertext_len) in ext4_fname_encrypt()
112 memset(workbuf + iname->len, 0, ciphertext_len - iname->len); in ext4_fname_encrypt()
144 const struct ext4_str *iname, in ext4_fname_decrypt() argument
157 if (iname->len <= 0 || iname->len > lim) in ext4_fname_decrypt()
160 tmp_in[0].name = iname->name; in ext4_fname_decrypt()
161 tmp_in[0].len = iname->len; in ext4_fname_decrypt()
179 sg_init_one(&src_sg, iname->name, iname->len); in ext4_fname_decrypt()
181 ablkcipher_request_set_crypt(req, &src_sg, &dst_sg, iname->len, iv); in ext4_fname_decrypt()
195 oname->len = strnlen(oname->name, iname->len); in ext4_fname_decrypt()
314 const struct ext4_str *iname, in _ext4_fname_disk_to_usr() argument
320 if (iname->len < 3) { in _ext4_fname_disk_to_usr()
322 if (iname->name[0] == '.' && iname->name[iname->len-1] == '.') { in _ext4_fname_disk_to_usr()
324 oname->name[iname->len-1] = '.'; in _ext4_fname_disk_to_usr()
325 oname->len = iname->len; in _ext4_fname_disk_to_usr()
329 if (iname->len < EXT4_CRYPTO_BLOCK_SIZE) { in _ext4_fname_disk_to_usr()
334 return ext4_fname_decrypt(inode, iname, oname); in _ext4_fname_disk_to_usr()
336 if (iname->len <= EXT4_FNAME_CRYPTO_DIGEST_SIZE) { in _ext4_fname_disk_to_usr()
337 ret = digest_encode(iname->name, iname->len, oname->name); in _ext4_fname_disk_to_usr()
346 memcpy(buf + 8, iname->name + iname->len - 16, 16); in _ext4_fname_disk_to_usr()
358 struct ext4_str iname = {.name = (unsigned char *) de->name, in ext4_fname_disk_to_usr() local
361 return _ext4_fname_disk_to_usr(inode, hinfo, &iname, oname); in ext4_fname_disk_to_usr()
369 const struct qstr *iname, in ext4_fname_usr_to_disk() argument
375 if (iname->len < 3) { in ext4_fname_usr_to_disk()
377 if (iname->name[0] == '.' && in ext4_fname_usr_to_disk()
378 iname->name[iname->len-1] == '.') { in ext4_fname_usr_to_disk()
380 oname->name[iname->len-1] = '.'; in ext4_fname_usr_to_disk()
381 oname->len = iname->len; in ext4_fname_usr_to_disk()
386 res = ext4_fname_encrypt(inode, iname, oname); in ext4_fname_usr_to_disk()
395 int ext4_fname_setup_filename(struct inode *dir, const struct qstr *iname, in ext4_fname_setup_filename() argument
402 fname->usr_fname = iname; in ext4_fname_setup_filename()
405 ((iname->name[0] == '.') && in ext4_fname_setup_filename()
406 ((iname->len == 1) || in ext4_fname_setup_filename()
407 ((iname->name[1] == '.') && (iname->len == 2))))) { in ext4_fname_setup_filename()
408 fname->disk_name.name = (unsigned char *) iname->name; in ext4_fname_setup_filename()
409 fname->disk_name.len = iname->len; in ext4_fname_setup_filename()
417 ret = ext4_fname_crypto_alloc_buffer(dir, iname->len, in ext4_fname_setup_filename()
421 ret = ext4_fname_encrypt(dir, iname, &fname->crypto_buf); in ext4_fname_setup_filename()
434 if (iname->name[0] == '_') in ext4_fname_setup_filename()
436 if ((bigname && (iname->len != 33)) || in ext4_fname_setup_filename()
437 (!bigname && (iname->len > 43))) in ext4_fname_setup_filename()
443 ret = digest_decode(iname->name + bigname, iname->len - bigname, in ext4_fname_setup_filename()