Commit e4d7e2df authored by Bruno Meneguele's avatar Bruno Meneguele Committed by Mimi Zohar

ima: limit secure boot feedback scope for appraise

Only emit an unknown/invalid message when setting the IMA appraise mode
to anything other than "enforce", when secureboot is enabled.
Signed-off-by: default avatarBruno Meneguele <bmeneg@redhat.com>
[zohar@linux.ibm.com: updated commit message]
Signed-off-by: default avatarMimi Zohar <zohar@linux.ibm.com>
parent 7fe2bb7e
...@@ -19,22 +19,29 @@ ...@@ -19,22 +19,29 @@
static int __init default_appraise_setup(char *str) static int __init default_appraise_setup(char *str)
{ {
#ifdef CONFIG_IMA_APPRAISE_BOOTPARAM #ifdef CONFIG_IMA_APPRAISE_BOOTPARAM
if (arch_ima_get_secureboot()) { bool sb_state = arch_ima_get_secureboot();
pr_info("Secure boot enabled: ignoring ima_appraise=%s boot parameter option", int appraisal_state = ima_appraise;
str);
return 1;
}
if (strncmp(str, "off", 3) == 0) if (strncmp(str, "off", 3) == 0)
ima_appraise = 0; appraisal_state = 0;
else if (strncmp(str, "log", 3) == 0) else if (strncmp(str, "log", 3) == 0)
ima_appraise = IMA_APPRAISE_LOG; appraisal_state = IMA_APPRAISE_LOG;
else if (strncmp(str, "fix", 3) == 0) else if (strncmp(str, "fix", 3) == 0)
ima_appraise = IMA_APPRAISE_FIX; appraisal_state = IMA_APPRAISE_FIX;
else if (strncmp(str, "enforce", 7) == 0) else if (strncmp(str, "enforce", 7) == 0)
ima_appraise = IMA_APPRAISE_ENFORCE; appraisal_state = IMA_APPRAISE_ENFORCE;
else else
pr_err("invalid \"%s\" appraise option", str); pr_err("invalid \"%s\" appraise option", str);
/* If appraisal state was changed, but secure boot is enabled,
* keep its default */
if (sb_state) {
if (!(appraisal_state & IMA_APPRAISE_ENFORCE))
pr_info("Secure boot enabled: ignoring ima_appraise=%s option",
str);
} else {
ima_appraise = appraisal_state;
}
#endif #endif
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment