From: Vladimir Sementsov-Ogievskiy Date: Tue, 3 Feb 2026 15:58:42 +0000 (+0300) Subject: tpm_emulator: drop direct use of errno variable X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18264ce6d68f1d66d7d1a444c9516f21a98e7e67;p=thirdparty%2Fqemu.git tpm_emulator: drop direct use of errno variable The code tends to include errno into error messages after tpm_util_test_tpmdev() and tpm_emulator_ctrlcmd() calls. Both has error paths, where errno is not set, examples: tpm_emulator_ctrlcmd() qemu_chr_fe_write_all() qemu_chr_write() replay_char_write_event_load() ... *res = replay_get_dword(); ... tpm_util_test_tpmdev() tpm_util_test() tpm_util_request() ... if (n != requestlen) { return -EFAULT; } ... Both doesn't document that they set errno. Let's drop these explicit usage of errno. If we need this information, it should be added to errp deeper in the stack. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Stefan Berger Reviewed-by: Markus Armbruster Signed-off-by: Stefan Berger --- diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c index 6d8529da3b..dc84380b13 100644 --- a/backends/tpm/tpm_emulator.c +++ b/backends/tpm/tpm_emulator.c @@ -225,7 +225,7 @@ static int tpm_emulator_set_locality(TPMEmulator *tpm_emu, uint8_t locty_number, if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_LOCALITY, &loc, sizeof(loc), sizeof(loc.u.resp.tpm_result), sizeof(loc)) < 0) { - error_setg_errno(errp, errno, "tpm-emulator: could not set locality"); + error_setg(errp, "tpm-emulator: could not set locality"); return -1; } @@ -263,7 +263,7 @@ static int tpm_emulator_probe_caps(TPMEmulator *tpm_emu) if (tpm_emulator_ctrlcmd(tpm_emu, CMD_GET_CAPABILITY, &cap_n, 0, sizeof(cap_n.u.resp.tpm_result), sizeof(cap_n)) < 0) { - error_report("tpm-emulator: probing failed : %s", strerror(errno)); + error_report("tpm-emulator: probing failed"); return -1; } @@ -314,7 +314,7 @@ static int tpm_emulator_stop_tpm(TPMBackend *tb, Error **errp) if (tpm_emulator_ctrlcmd(tpm_emu, CMD_STOP, &res, 0, sizeof(ptm_res), sizeof(res)) < 0) { - error_setg_errno(errp, errno, "tpm-emulator: Could not stop TPM"); + error_setg(errp, "tpm-emulator: Could not stop TPM"); return -1; } @@ -342,8 +342,7 @@ static int tpm_emulator_lock_storage(TPMEmulator *tpm_emu) if (tpm_emulator_ctrlcmd(tpm_emu, CMD_LOCK_STORAGE, &pls, sizeof(pls.u.req), sizeof(pls.u.resp.tpm_result), sizeof(pls.u.resp)) < 0) { - error_report("tpm-emulator: Could not lock storage within 3 seconds: " - "%s", strerror(errno)); + error_report("tpm-emulator: Could not lock storage within 3 seconds"); return -1; } @@ -375,8 +374,7 @@ static int tpm_emulator_set_buffer_size(TPMBackend *tb, if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_BUFFERSIZE, &psbs, sizeof(psbs.u.req), sizeof(psbs.u.resp.tpm_result), sizeof(psbs.u.resp)) < 0) { - error_setg_errno(errp, errno, - "tpm-emulator: Could not set buffer size"); + error_setg(errp, "tpm-emulator: Could not set buffer size"); return -1; } @@ -424,7 +422,7 @@ static int tpm_emulator_startup_tpm_resume(TPMBackend *tb, size_t buffersize, if (tpm_emulator_ctrlcmd(tpm_emu, CMD_INIT, &init, sizeof(init), sizeof(init.u.resp.tpm_result), sizeof(init)) < 0) { - error_setg_errno(errp, errno, "tpm-emulator: could not send INIT"); + error_setg(errp, "tpm-emulator: could not send INIT"); goto err_exit; } @@ -479,8 +477,7 @@ static bool tpm_emulator_get_tpm_established_flag(TPMBackend *tb) if (tpm_emulator_ctrlcmd(tpm_emu, CMD_GET_TPMESTABLISHED, &est, 0, sizeof(est) /* always returns resp.bit */, sizeof(est)) < 0) { - error_report("tpm-emulator: Could not get the TPM established flag: %s", - strerror(errno)); + error_report("tpm-emulator: Could not get the TPM established flag"); return false; } trace_tpm_emulator_get_tpm_established_flag(est.u.resp.bit); @@ -508,8 +505,7 @@ static int tpm_emulator_reset_tpm_established_flag(TPMBackend *tb, &reset_est, sizeof(reset_est), sizeof(reset_est.u.resp.tpm_result), sizeof(reset_est)) < 0) { - error_report("tpm-emulator: Could not reset the establishment bit: %s", - strerror(errno)); + error_report("tpm-emulator: Could not reset the establishment bit"); return -1; } @@ -539,8 +535,7 @@ static void tpm_emulator_cancel_cmd(TPMBackend *tb) /* FIXME: make the function non-blocking, or it may block a VCPU */ if (tpm_emulator_ctrlcmd(tpm_emu, CMD_CANCEL_TPM_CMD, &res, 0, sizeof(ptm_res), sizeof(res)) < 0) { - error_report("tpm-emulator: Could not cancel command: %s", - strerror(errno)); + error_report("tpm-emulator: Could not cancel command"); } else if (res != 0) { error_report("tpm-emulator: Failed to cancel TPM: 0x%x", be32_to_cpu(res)); @@ -601,8 +596,7 @@ static int tpm_emulator_prepare_data_fd(TPMEmulator *tpm_emu) if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_DATAFD, &res, 0, sizeof(ptm_res), sizeof(res)) < 0 || res != 0) { - error_report("tpm-emulator: Failed to send CMD_SET_DATAFD: %s", - strerror(errno)); + error_report("tpm-emulator: Failed to send CMD_SET_DATAFD"); goto err_exit; } @@ -659,8 +653,8 @@ static int tpm_emulator_handle_device_opts(TPMEmulator *tpm_emu, QemuOpts *opts) */ if (tpm_util_test_tpmdev(QIO_CHANNEL_SOCKET(tpm_emu->data_ioc)->fd, &tpm_emu->tpm_version)) { - error_report("'%s' is not emulating TPM device. Error: %s", - tpm_emu->options->chardev, strerror(errno)); + error_report("'%s' is not emulating TPM device.", + tpm_emu->options->chardev); goto err; } @@ -750,8 +744,7 @@ static int tpm_emulator_get_state_blob(TPMEmulator *tpm_emu, /* always returns up to resp.data */ offsetof(ptm_getstate, u.resp.data), offsetof(ptm_getstate, u.resp.data)) < 0) { - error_report("tpm-emulator: could not get state blob type %d : %s", - type, strerror(errno)); + error_report("tpm-emulator: could not get state blob type %d", type); return -1; } @@ -853,9 +846,8 @@ static int tpm_emulator_set_state_blob(TPMEmulator *tpm_emu, /* write the header only */ if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_STATEBLOB, &pss, offsetof(ptm_setstate, u.req.data), 0, 0) < 0) { - error_setg_errno(errp, errno, - "tpm-emulator: could not set state blob type %d", - type); + error_setg(errp, "tpm-emulator: could not set state blob type %d", + type); return -1; } @@ -1037,8 +1029,7 @@ static void tpm_emulator_shutdown(TPMEmulator *tpm_emu) if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SHUTDOWN, &res, 0, sizeof(ptm_res), sizeof(res)) < 0) { - error_report("tpm-emulator: Could not cleanly shutdown the TPM: %s", - strerror(errno)); + error_report("tpm-emulator: Could not cleanly shutdown the TPM"); } else if (res != 0) { error_report("tpm-emulator: TPM result for shutdown: 0x%x %s", be32_to_cpu(res), tpm_emulator_strerror(be32_to_cpu(res)));