diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-01-21 17:46:16 +0900 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-01-21 17:46:16 +0900 |
commit | 69485d3e6d6839b46a56c77d2dffad18cb7d373f (patch) | |
tree | 20e9de1d5fd9f6617b05e759f9326eaffaf743ee /security/integrity/ima/ima_main.c | |
parent | f2a93e2a4c048dfb5c7ee3f159a4a1d1cb61b4b5 (diff) | |
parent | 7881fd0fb3ecc9e367ba998a4de533e7eecbdfeb (diff) |
Merge remote-tracking branch 'asoc/fix/adsp' into asoc-adsp
Diffstat (limited to 'security/integrity/ima/ima_main.c')
-rw-r--r-- | security/integrity/ima/ima_main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c index 45de18e9a6f..dba965de90d 100644 --- a/security/integrity/ima/ima_main.c +++ b/security/integrity/ima/ima_main.c @@ -291,11 +291,15 @@ EXPORT_SYMBOL_GPL(ima_file_check); */ int ima_module_check(struct file *file) { - int rc; + int rc = 0; - if (!file) - rc = INTEGRITY_UNKNOWN; - else + if (!file) { + if (ima_appraise & IMA_APPRAISE_MODULES) { +#ifndef CONFIG_MODULE_SIG_FORCE + rc = -EACCES; /* INTEGRITY_UNKNOWN */ +#endif + } + } else rc = process_measurement(file, file->f_dentry->d_name.name, MAY_EXEC, MODULE_CHECK); return (ima_appraise & IMA_APPRAISE_ENFORCE) ? rc : 0; |