Lines Matching refs:vi
153 struct fsverity_info *vi; in fsverity_create_info() local
156 vi = kmem_cache_zalloc(fsverity_info_cachep, GFP_KERNEL); in fsverity_create_info()
157 if (!vi) in fsverity_create_info()
159 vi->inode = inode; in fsverity_create_info()
161 err = fsverity_init_merkle_tree_params(&vi->tree_params, inode, in fsverity_create_info()
172 memcpy(vi->root_hash, desc->root_hash, vi->tree_params.digest_size); in fsverity_create_info()
174 err = compute_file_digest(vi->tree_params.hash_alg, desc, in fsverity_create_info()
175 vi->file_digest); in fsverity_create_info()
181 vi->tree_params.hash_alg->name, in fsverity_create_info()
182 vi->tree_params.digest_size, vi->file_digest); in fsverity_create_info()
184 err = fsverity_verify_signature(vi, desc->signature, in fsverity_create_info()
188 fsverity_free_info(vi); in fsverity_create_info()
189 vi = ERR_PTR(err); in fsverity_create_info()
191 return vi; in fsverity_create_info()
194 void fsverity_set_info(struct inode *inode, struct fsverity_info *vi) in fsverity_set_info() argument
202 if (cmpxchg_release(&inode->i_verity_info, NULL, vi) != NULL) { in fsverity_set_info()
204 fsverity_free_info(vi); in fsverity_set_info()
213 void fsverity_free_info(struct fsverity_info *vi) in fsverity_free_info() argument
215 if (!vi) in fsverity_free_info()
217 kfree(vi->tree_params.hashstate); in fsverity_free_info()
218 kmem_cache_free(fsverity_info_cachep, vi); in fsverity_free_info()
307 struct fsverity_info *vi = fsverity_get_info(inode); in ensure_verity_info() local
312 if (vi) in ensure_verity_info()
319 vi = fsverity_create_info(inode, desc, desc_size); in ensure_verity_info()
320 if (IS_ERR(vi)) { in ensure_verity_info()
321 err = PTR_ERR(vi); in ensure_verity_info()
325 fsverity_set_info(inode, vi); in ensure_verity_info()