[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v1 15/21] tpm-emulator: fix error handling
From: |
Stefan Berger |
Subject: |
[Qemu-devel] [PULL v1 15/21] tpm-emulator: fix error handling |
Date: |
Thu, 19 Oct 2017 14:02:49 -0400 |
From: Marc-André Lureau <address@hidden>
The previous patch cleaned up a bit error handling, and exposed an
existing bug: error_report_err() could be called with a NULL error.
Instead, make tpm_emulator_set_locality() set the error.
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Stefan Berger <address@hidden>
Signed-off-by: Stefan Berger <address@hidden>
---
hw/tpm/tpm_emulator.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/hw/tpm/tpm_emulator.c b/hw/tpm/tpm_emulator.c
index 0b1a99f..a613cec 100644
--- a/hw/tpm/tpm_emulator.c
+++ b/hw/tpm/tpm_emulator.c
@@ -141,7 +141,8 @@ static int tpm_emulator_unix_tx_bufs(TPMEmulator *tpm_emu,
return 0;
}
-static int tpm_emulator_set_locality(TPMEmulator *tpm_emu, uint8_t
locty_number)
+static int tpm_emulator_set_locality(TPMEmulator *tpm_emu, uint8_t
locty_number,
+ Error **errp)
{
ptm_loc loc;
@@ -155,15 +156,15 @@ static int tpm_emulator_set_locality(TPMEmulator
*tpm_emu, uint8_t locty_number)
loc.u.req.loc = locty_number;
if (tpm_emulator_ctrlcmd(&tpm_emu->ctrl_chr, CMD_SET_LOCALITY, &loc,
sizeof(loc), sizeof(loc)) < 0) {
- error_report("tpm-emulator: could not set locality : %s",
- strerror(errno));
+ error_setg(errp, "tpm-emulator: could not set locality : %s",
+ strerror(errno));
return -1;
}
loc.u.resp.tpm_result = be32_to_cpu(loc.u.resp.tpm_result);
if (loc.u.resp.tpm_result != 0) {
- error_report("tpm-emulator: TPM result for set locality : 0x%x",
- loc.u.resp.tpm_result);
+ error_setg(errp, "tpm-emulator: TPM result for set locality : 0x%x",
+ loc.u.resp.tpm_result);
return -1;
}
@@ -179,7 +180,8 @@ static void tpm_emulator_handle_request(TPMBackend *tb,
TPMBackendCmd *cmd)
DPRINTF("processing TPM command");
- if (tpm_emulator_set_locality(tpm_emu, tb->tpm_state->locty_number) < 0) {
+ if (tpm_emulator_set_locality(tpm_emu,
+ tb->tpm_state->locty_number, &err) < 0) {
goto error;
}
--
2.5.5
- [Qemu-devel] [PULL v1 16/21] tpm: remove locty_data from TPMState, (continued)
- [Qemu-devel] [PULL v1 16/21] tpm: remove locty_data from TPMState, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 01/21] tpm-tis: remove unused hw_access argument, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 21/21] tpm: move recv_data_callback to TPM interface, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 11/21] tpm: remove unused TPMBackendCmd, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 09/21] tpm: remove init() class method, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 04/21] tpm: lookup tpm backend class in tpm_driver_find_by_type(), Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 13/21] tpm: remove locty argument from receive_cb, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 12/21] tpm: remove needless cast, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 20/21] tpm: add a QOM TPM interface, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 06/21] tpm: remove tpm_register_driver(), Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 15/21] tpm-emulator: fix error handling,
Stefan Berger <=
- [Qemu-devel] [PULL v1 14/21] tpm: add TPMBackendCmd to hold the request state, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 18/21] tpm-tis: remove tpm_tis.h header, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 17/21] tpm-tis: move TPMState to TIS header, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 19/21] tpm-tis: fold TPMTISEmuState in TPMState, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 10/21] tpm: remove configure_tpm() hop, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 07/21] tpm: move TPMSizedBuffer to tpm_tis.h, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 08/21] tpm: remove TPMDriverOps, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 02/21] tpm-tis: remove RAISE_STS_IRQ, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 03/21] tpm: make tpm_get_backend_driver() static, Stefan Berger, 2017/10/19
- [Qemu-devel] [PULL v1 05/21] tpm: replace tpm_get_backend_driver() to drop be_drivers, Stefan Berger, 2017/10/19