Lines Matching refs:vi
152 struct fsverity_info *vi; in fsverity_create_info() local
155 vi = kmem_cache_zalloc(fsverity_info_cachep, GFP_KERNEL); in fsverity_create_info()
156 if (!vi) in fsverity_create_info()
158 vi->inode = inode; in fsverity_create_info()
160 err = fsverity_init_merkle_tree_params(&vi->tree_params, inode, in fsverity_create_info()
171 memcpy(vi->root_hash, desc->root_hash, vi->tree_params.digest_size); in fsverity_create_info()
173 err = compute_file_digest(vi->tree_params.hash_alg, desc, in fsverity_create_info()
174 vi->file_digest); in fsverity_create_info()
180 vi->tree_params.hash_alg->name, in fsverity_create_info()
181 vi->tree_params.digest_size, vi->file_digest); in fsverity_create_info()
183 err = fsverity_verify_signature(vi, desc->signature, in fsverity_create_info()
187 fsverity_free_info(vi); in fsverity_create_info()
188 vi = ERR_PTR(err); in fsverity_create_info()
190 return vi; in fsverity_create_info()
193 void fsverity_set_info(struct inode *inode, struct fsverity_info *vi) in fsverity_set_info() argument
201 if (cmpxchg_release(&inode->i_verity_info, NULL, vi) != NULL) { in fsverity_set_info()
203 fsverity_free_info(vi); in fsverity_set_info()
212 void fsverity_free_info(struct fsverity_info *vi) in fsverity_free_info() argument
214 if (!vi) in fsverity_free_info()
216 kfree(vi->tree_params.hashstate); in fsverity_free_info()
217 kmem_cache_free(fsverity_info_cachep, vi); in fsverity_free_info()
304 struct fsverity_info *vi = fsverity_get_info(inode); in ensure_verity_info() local
308 if (vi) in ensure_verity_info()
315 vi = fsverity_create_info(inode, desc); in ensure_verity_info()
316 if (IS_ERR(vi)) { in ensure_verity_info()
317 err = PTR_ERR(vi); in ensure_verity_info()
321 fsverity_set_info(inode, vi); in ensure_verity_info()