Skip to content

Commit

Permalink
integrity: invalid kernel parameters feedback
Browse files Browse the repository at this point in the history
Don't silently ignore unknown or invalid ima_{policy,appraise,hash} and evm
kernel boot command line options.

Signed-off-by: Bruno Meneguele <[email protected]>
Signed-off-by: Mimi Zohar <[email protected]>
  • Loading branch information
bmeneg authored and mimizohar committed Sep 9, 2020
1 parent 4afb28a commit 7fe2bb7
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
3 changes: 3 additions & 0 deletions security/integrity/evm/evm_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ static int __init evm_set_fixmode(char *str)
{
if (strncmp(str, "fix", 3) == 0)
evm_fixmode = 1;
else
pr_err("invalid \"%s\" mode", str);

return 0;
}
__setup("evm=", evm_set_fixmode);
Expand Down
2 changes: 2 additions & 0 deletions security/integrity/ima/ima_appraise.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ static int __init default_appraise_setup(char *str)
ima_appraise = IMA_APPRAISE_FIX;
else if (strncmp(str, "enforce", 7) == 0)
ima_appraise = IMA_APPRAISE_ENFORCE;
else
pr_err("invalid \"%s\" appraise option", str);
#endif
return 1;
}
Expand Down
13 changes: 9 additions & 4 deletions security/integrity/ima/ima_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,18 +50,23 @@ static int __init hash_setup(char *str)
return 1;

if (strcmp(template_desc->name, IMA_TEMPLATE_IMA_NAME) == 0) {
if (strncmp(str, "sha1", 4) == 0)
if (strncmp(str, "sha1", 4) == 0) {
ima_hash_algo = HASH_ALGO_SHA1;
else if (strncmp(str, "md5", 3) == 0)
} else if (strncmp(str, "md5", 3) == 0) {
ima_hash_algo = HASH_ALGO_MD5;
else
} else {
pr_err("invalid hash algorithm \"%s\" for template \"%s\"",
str, IMA_TEMPLATE_IMA_NAME);
return 1;
}
goto out;
}

i = match_string(hash_algo_name, HASH_ALGO__LAST, str);
if (i < 0)
if (i < 0) {
pr_err("invalid hash algorithm \"%s\"", str);
return 1;
}

ima_hash_algo = i;
out:
Expand Down
2 changes: 2 additions & 0 deletions security/integrity/ima/ima_policy.c
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,8 @@ static int __init policy_setup(char *str)
ima_use_secure_boot = true;
else if (strcmp(p, "fail_securely") == 0)
ima_fail_unverifiable_sigs = true;
else
pr_err("policy \"%s\" not found", p);
}

return 1;
Expand Down

0 comments on commit 7fe2bb7

Please sign in to comment.