Skip to content

Commit

Permalink
ima: Fix return value of ima_write_policy()
Browse files Browse the repository at this point in the history
This patch fixes the return value of ima_write_policy() when a new policy
is directly passed to IMA and the current policy requires appraisal of the
file containing the policy. Currently, if appraisal is not in ENFORCE mode,
ima_write_policy() returns 0 and leads user space applications to an
endless loop. Fix this issue by denying the operation regardless of the
appraisal mode.

Cc: [email protected] # 4.10.x
Fixes: 19f8a84 ("ima: measure and appraise the IMA policy itself")
Signed-off-by: Roberto Sassu <[email protected]>
Reviewed-by: Krzysztof Struczynski <[email protected]>
Signed-off-by: Mimi Zohar <[email protected]>
  • Loading branch information
robertosassu authored and mimizohar committed May 8, 2020
1 parent 53de3b0 commit 2e3a34e
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions security/integrity/ima/ima_fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,8 +338,7 @@ static ssize_t ima_write_policy(struct file *file, const char __user *buf,
integrity_audit_msg(AUDIT_INTEGRITY_STATUS, NULL, NULL,
"policy_update", "signed policy required",
1, 0);
if (ima_appraise & IMA_APPRAISE_ENFORCE)
result = -EACCES;
result = -EACCES;
} else {
result = ima_parse_add_rule(data);
}
Expand Down

0 comments on commit 2e3a34e

Please sign in to comment.