Lines Matching refs:file

106 static int mmap_violation_check(enum ima_hooks func, struct file *file,  in mmap_violation_check()  argument
114 mapping_writably_mapped(file->f_mapping)) { in mmap_violation_check()
116 inode = file_inode(file); in mmap_violation_check()
119 *pathname = ima_d_path(&file->f_path, pathbuf, in mmap_violation_check()
137 static void ima_rdwr_violation_check(struct file *file, in ima_rdwr_violation_check() argument
144 struct inode *inode = file_inode(file); in ima_rdwr_violation_check()
145 fmode_t mode = file->f_mode; in ima_rdwr_violation_check()
173 *pathname = ima_d_path(&file->f_path, pathbuf, filename); in ima_rdwr_violation_check()
176 ima_add_violation(file, *pathname, iint, in ima_rdwr_violation_check()
179 ima_add_violation(file, *pathname, iint, in ima_rdwr_violation_check()
184 struct inode *inode, struct file *file) in ima_check_last_writer() argument
186 fmode_t mode = file->f_mode; in ima_check_last_writer()
201 vfs_getattr_nosec(&file->f_path, &stat, in ima_check_last_writer()
209 ima_update_xattr(iint, file); in ima_check_last_writer()
221 static void ima_file_free(struct file *file) in ima_file_free() argument
223 struct inode *inode = file_inode(file); in ima_file_free()
233 ima_check_last_writer(iint, inode, file); in ima_file_free()
236 static int process_measurement(struct file *file, const struct cred *cred, in process_measurement() argument
240 struct inode *real_inode, *inode = file_inode(file); in process_measurement()
263 action = ima_get_action(file_mnt_idmap(file), inode, cred, prop, in process_measurement()
270 (file->f_mode & FMODE_WRITE))); in process_measurement()
289 ima_rdwr_violation_check(file, iint, action & IMA_MEASURE, in process_measurement()
327 real_inode = d_real_inode(file_dentry(file)); in process_measurement()
340 metadata_inode = d_inode(d_real(file_dentry(file), in process_measurement()
362 xattr_len = ima_read_xattr(file_dentry(file), in process_measurement()
375 rc = mmap_violation_check(func, file, &pathbuf, in process_measurement()
386 xattr_len = ima_read_xattr(file_dentry(file), in process_measurement()
405 rc = ima_collect_measurement(iint, file, buf, size, hash_algo, modsig); in process_measurement()
410 pathname = ima_d_path(&file->f_path, &pathbuf, filename); in process_measurement()
413 ima_store_measurement(iint, file, pathname, in process_measurement()
420 rc = ima_appraise_measurement(func, iint, file, in process_measurement()
426 rc = mmap_violation_check(func, file, &pathbuf, in process_measurement()
432 if ((file->f_flags & O_DIRECT) && (iint->flags & IMA_PERMIT_DIRECTIO)) in process_measurement()
440 integrity_audit_msg(AUDIT_INTEGRITY_DATA, file_inode(file), in process_measurement()
457 if (file->f_mode & FMODE_WRITE) in process_measurement()
476 static int ima_file_mmap(struct file *file, unsigned long reqprot, in ima_file_mmap() argument
482 if (!file) in ima_file_mmap()
488 ret = process_measurement(file, current_cred(), &prop, NULL, in ima_file_mmap()
495 return process_measurement(file, current_cred(), &prop, NULL, in ima_file_mmap()
519 struct file *file; in ima_file_mprotect() local
551 file = vma->vm_file; in ima_file_mprotect()
552 pathname = ima_d_path(&file->f_path, &pathbuf, filename); in ima_file_mprotect()
580 ret = process_measurement(bprm->file, current_cred(), in ima_bprm_check()
586 return process_measurement(bprm->file, bprm->cred, &prop, NULL, 0, in ima_bprm_check()
628 static int ima_file_check(struct file *file, int mask) in ima_file_check() argument
633 return process_measurement(file, current_cred(), &prop, NULL, 0, in ima_file_check()
638 static int __ima_inode_hash(struct inode *inode, struct file *file, char *buf, in __ima_inode_hash() argument
650 if ((!iint || !(iint->flags & IMA_COLLECTED)) && file) { in __ima_inode_hash()
657 rc = ima_collect_measurement(&tmp_iint, file, NULL, 0, in __ima_inode_hash()
715 int ima_file_hash(struct file *file, char *buf, size_t buf_size) in ima_file_hash() argument
717 if (!file) in ima_file_hash()
720 return __ima_inode_hash(file_inode(file), file, buf, buf_size); in ima_file_hash()
828 static int ima_read_file(struct file *file, enum kernel_read_file_id read_id, in ima_read_file() argument
853 return process_measurement(file, current_cred(), &prop, NULL, 0, in ima_read_file()
878 static int ima_post_read_file(struct file *file, char *buf, loff_t size, in ima_post_read_file() argument
885 if (!file && read_id == READING_X509_CERTIFICATE) in ima_post_read_file()
888 if (!file || !buf || size == 0) { /* should never happen */ in ima_post_read_file()
896 return process_measurement(file, current_cred(), &prop, buf, size, in ima_post_read_file()