The returned error is only used to check for success, so no reason
to use specific errno values.
Also, this is the only function with -errno contract in the file,
so converting it simplifies the whole file from three types of
contract (0/-1, 0/-errno, true/false) to only two (0/-1, true/false).
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
---
backends/tpm/tpm_emulator.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c
index 79f3e6b1f2..3c62bfa3ed 100644
--- a/backends/tpm/tpm_emulator.c
+++ b/backends/tpm/tpm_emulator.c
@@ -885,10 +885,8 @@ static int tpm_emulator_set_state_blob(TPMEmulator *tpm_emu,
/*
* Set all the TPM state blobs.
- *
- * Returns a negative errno code in case of error.
*/
-static int tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
+static bool tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
{
TPMEmulator *tpm_emu = TPM_EMULATOR(tb);
TPMBlobBuffers *state_blobs = &tpm_emu->state_blobs;
@@ -897,7 +895,7 @@ static int tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
if (tpm_emulator_stop_tpm(tb, errp) < 0) {
trace_tpm_emulator_set_state_blobs_error("Could not stop TPM");
- return -EIO;
+ return false;
}
if (tpm_emulator_set_state_blob(tpm_emu, PTM_BLOB_TYPE_PERMANENT,
@@ -909,12 +907,12 @@ static int tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
tpm_emulator_set_state_blob(tpm_emu, PTM_BLOB_TYPE_SAVESTATE,
&state_blobs->savestate,
state_blobs->savestate_flags, errp) < 0) {
- return -EIO;
+ return false;
}
trace_tpm_emulator_set_state_blobs_done();
- return 0;
+ return true;
}
static int tpm_emulator_pre_save(void *opaque)
@@ -959,8 +957,7 @@ static bool tpm_emulator_post_load(void *opaque, int version_id, Error **errp)
TPMBackend *tb = opaque;
int ret;
- ret = tpm_emulator_set_state_blobs(tb, errp);
- if (ret < 0) {
+ if (!tpm_emulator_set_state_blobs(tb, errp)) {
return false;
}
--
2.48.1
On 11/6/25 2:41 PM, Vladimir Sementsov-Ogievskiy wrote:
> The returned error is only used to check for success, so no reason
> to use specific errno values.
>
> Also, this is the only function with -errno contract in the file,
> so converting it simplifies the whole file from three types of
> contract (0/-1, 0/-errno, true/false) to only two (0/-1, true/false).
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
> ---
> backends/tpm/tpm_emulator.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c
> index 79f3e6b1f2..3c62bfa3ed 100644
> --- a/backends/tpm/tpm_emulator.c
> +++ b/backends/tpm/tpm_emulator.c
> @@ -885,10 +885,8 @@ static int tpm_emulator_set_state_blob(TPMEmulator *tpm_emu,
>
> /*
> * Set all the TPM state blobs.
> - *
> - * Returns a negative errno code in case of error.
> */
> -static int tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
> +static bool tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
> {
> TPMEmulator *tpm_emu = TPM_EMULATOR(tb);
> TPMBlobBuffers *state_blobs = &tpm_emu->state_blobs;
> @@ -897,7 +895,7 @@ static int tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
>
> if (tpm_emulator_stop_tpm(tb, errp) < 0) {
> trace_tpm_emulator_set_state_blobs_error("Could not stop TPM");
> - return -EIO;
> + return false;
> }
>
> if (tpm_emulator_set_state_blob(tpm_emu, PTM_BLOB_TYPE_PERMANENT,
> @@ -909,12 +907,12 @@ static int tpm_emulator_set_state_blobs(TPMBackend *tb, Error **errp)
> tpm_emulator_set_state_blob(tpm_emu, PTM_BLOB_TYPE_SAVESTATE,
> &state_blobs->savestate,
> state_blobs->savestate_flags, errp) < 0) {
> - return -EIO;
> + return false;
> }
>
> trace_tpm_emulator_set_state_blobs_done();
>
> - return 0;
> + return true;
> }
>
> static int tpm_emulator_pre_save(void *opaque)
> @@ -959,8 +957,7 @@ static bool tpm_emulator_post_load(void *opaque, int version_id, Error **errp)
> TPMBackend *tb = opaque;
> int ret;
>
> - ret = tpm_emulator_set_state_blobs(tb, errp);
> - if (ret < 0) {
> + if (!tpm_emulator_set_state_blobs(tb, errp)) {
> return false;
> }
>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
© 2016 - 2025 Red Hat, Inc.