[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6433f3d4c142ed9a7acddaad6e25829efc24e2d2.camel@linux.ibm.com>
Date: Thu, 30 Jun 2022 09:24:18 -0400
From: Mimi Zohar <zohar@...ux.ibm.com>
To: Stefan Berger <stefanb@...ux.ibm.com>,
linux-integrity@...r.kernel.org
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ima: Defer query for iversion until it is needed
Hi Stefan,
On Wed, 2022-06-29 at 22:03 -0400, Stefan Berger wrote:
> Defer the query for the iversion until it is needed.
>
> Signed-off-by: Stefan Berger <stefanb@...ux.ibm.com>
> ---
> security/integrity/ima/ima_api.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/security/integrity/ima/ima_api.c b/security/integrity/ima/ima_api.c
> index c1e76282b5ee..4410d45eb281 100644
> --- a/security/integrity/ima/ima_api.c
> +++ b/security/integrity/ima/ima_api.c
> @@ -248,7 +248,6 @@ int ima_collect_measurement(struct integrity_iint_cache *iint,
> int result = 0;
> int length;
> void *tmpbuf;
> - u64 i_version;
>
> /*
> * Always collect the modsig, because IMA might have already collected
> @@ -267,7 +266,6 @@ int ima_collect_measurement(struct integrity_iint_cache *iint,
> * to an initial measurement/appraisal/audit, but was modified to
> * assume the file changed.
> */
> - i_version = inode_query_iversion(inode);
> hash.hdr.algo = algo;
> hash.hdr.length = hash_digest_size[algo];
>
> @@ -304,7 +302,7 @@ int ima_collect_measurement(struct integrity_iint_cache *iint,
>
> iint->ima_hash = tmpbuf;
> memcpy(iint->ima_hash, &hash, length);
> - iint->version = i_version;
> + iint->version = inode_query_iversion(inode);
>
> /* Possibly temporary failure due to type of read (eg. O_DIRECT) */
> if (!result)
Using the i_version value before calculating the file hash was done
intentionally in case the file changed.
thanks,
Mimi
Powered by blists - more mailing lists