Re: [PATCH v2 6/6] ima: Fix return value of ima_write_policy()

From: Mimi Zohar
Date: Tue Apr 28 2020 - 13:46:53 EST


Hi Roberto,

On Mon, 2020-04-27 at 12:31 +0200, Roberto Sassu wrote:
> 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.
>
> Changelog
>
> v1:
> - deny the operation in all cases (suggested by Mimi, Krzysztof)

Relatively recently, people have moved away from including the
"Changelog" in the upstream commit. (I'm removing them now.) Â

>
> Cc: stable@xxxxxxxxxxxxxxx # 4.10.x
> Fixes: 19f8a84713edc ("ima: measure and appraise the IMA policy itself")
> Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxxx>

Without the Changelog, the only way of acknowledging people's
contributions is by including their tags. ÂKrzysztof, did you want to
add your "Reviewed-by" tag?

> ---

People have started putting the Changelog or any comments immediately
below the separator "---" here.

thanks,

Mimi

> security/integrity/ima/ima_fs.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
> index 8b030a1c5e0d..e3fcad871861 100644
> --- a/security/integrity/ima/ima_fs.c
> +++ b/security/integrity/ima/ima_fs.c
> @@ -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);
> }