diff options
| author | Rodrigo Vivi <[email protected]> | 2018-07-23 09:13:12 -0700 | 
|---|---|---|
| committer | Rodrigo Vivi <[email protected]> | 2018-07-23 09:13:12 -0700 | 
| commit | c74a7469f97c0f40b46e82ee979f9fb1bb6e847c (patch) | |
| tree | f2690a1a916b73ef94657fbf0e0141ae57701825 /security/integrity/ima/ima_fs.c | |
| parent | 6f15a7de86c8cf2dc09fc9e6d07047efa40ef809 (diff) | |
| parent | 500775074f88d9cf5416bed2ca19592812d62c41 (diff) | |
Merge drm/drm-next into drm-intel-next-queued
We need a backmerge to get DP_DPCD_REV_14 before we push other
i915 changes to dinq that could break compilation.
Signed-off-by: Rodrigo Vivi <[email protected]>
Diffstat (limited to 'security/integrity/ima/ima_fs.c')
| -rw-r--r-- | security/integrity/ima/ima_fs.c | 18 | 
1 files changed, 15 insertions, 3 deletions
| diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c index fa540c0469da..ae9d5c766a3c 100644 --- a/security/integrity/ima/ima_fs.c +++ b/security/integrity/ima/ima_fs.c @@ -15,6 +15,9 @@   *	implemenents security file system for reporting   *	current measurement list and IMA statistics   */ + +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt +  #include <linux/fcntl.h>  #include <linux/slab.h>  #include <linux/module.h> @@ -336,7 +339,7 @@ static ssize_t ima_write_policy(struct file *file, const char __user *buf,  	if (data[0] == '/') {  		result = ima_read_policy(data);  	} else if (ima_appraise & IMA_APPRAISE_POLICY) { -		pr_err("IMA: signed policy file (specified as an absolute pathname) required\n"); +		pr_err("signed policy file (specified as an absolute pathname) required\n");  		integrity_audit_msg(AUDIT_INTEGRITY_STATUS, NULL, NULL,  				    "policy_update", "signed policy required",  				    1, 0); @@ -356,6 +359,7 @@ out:  }  static struct dentry *ima_dir; +static struct dentry *ima_symlink;  static struct dentry *binary_runtime_measurements;  static struct dentry *ascii_runtime_measurements;  static struct dentry *runtime_measurements_count; @@ -417,7 +421,7 @@ static int ima_release_policy(struct inode *inode, struct file *file)  		valid_policy = 0;  	} -	pr_info("IMA: policy update %s\n", cause); +	pr_info("policy update %s\n", cause);  	integrity_audit_msg(AUDIT_INTEGRITY_STATUS, NULL, NULL,  			    "policy_update", cause, !valid_policy, 0); @@ -434,6 +438,8 @@ static int ima_release_policy(struct inode *inode, struct file *file)  	ima_policy = NULL;  #elif defined(CONFIG_IMA_WRITE_POLICY)  	clear_bit(IMA_FS_BUSY, &ima_fs_flags); +#elif defined(CONFIG_IMA_READ_POLICY) +	inode->i_mode &= ~S_IWUSR;  #endif  	return 0;  } @@ -448,10 +454,15 @@ static const struct file_operations ima_measure_policy_ops = {  int __init ima_fs_init(void)  { -	ima_dir = securityfs_create_dir("ima", NULL); +	ima_dir = securityfs_create_dir("ima", integrity_dir);  	if (IS_ERR(ima_dir))  		return -1; +	ima_symlink = securityfs_create_symlink("ima", NULL, "integrity/ima", +						NULL); +	if (IS_ERR(ima_symlink)) +		goto out; +  	binary_runtime_measurements =  	    securityfs_create_file("binary_runtime_measurements",  				   S_IRUSR | S_IRGRP, ima_dir, NULL, @@ -491,6 +502,7 @@ out:  	securityfs_remove(runtime_measurements_count);  	securityfs_remove(ascii_runtime_measurements);  	securityfs_remove(binary_runtime_measurements); +	securityfs_remove(ima_symlink);  	securityfs_remove(ima_dir);  	securityfs_remove(ima_policy);  	return -1; |