Re: [PATCH v3 2/3] ima: Return int in the functions to measure a buffer

From: Mimi Zohar
Date: Mon Jul 19 2021 - 17:08:07 EST


Hi Roberto,

On Mon, 2021-07-05 at 11:09 +0200, Roberto Sassu wrote:
> ima_measure_critical_data() and process_buffer_measurement() currently
> don't return a result. A caller wouldn't be able to know whether those
> functions were executed successfully.

Missing is an explanation as to why these functions aren't currently
returning a result. The LSM/IMA hooks only return a negative result
for failure to appraise a file's integrity, not measure a file. Only
failure to appraise a file's integrity results in preventing the file
from being read/executed/mmaped. Other failures are only audited.

>
> This patch modifies the return type from void to int, and returns 0 if the
> buffer has been successfully measured, a negative value otherwise.

Needed here is an explanation as to why ima_measure_critical_data() is
special.

>
> Also, this patch does not modify the behavior of existing callers by
> processing the returned value. For those, the return value is ignored.

I agree that the existing behavior shouldn't change, but will this
result in the bots complaining?

thanks,

Mimi