[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 6/8] tpm-backend: Move realloc_buffer() implement
From: |
Amarnath Valluri |
Subject: |
[Qemu-devel] [PATCH v3 6/8] tpm-backend: Move realloc_buffer() implementation to base class |
Date: |
Tue, 2 May 2017 14:52:47 +0300 |
Provide base implementation of realloc_buffer(), so that backend implementations
can resue.
Signed-off-by: Amarnath Valluri <address@hidden>
---
backends/tpm.c | 9 ++++++++-
hw/tpm/tpm_passthrough.c | 12 ------------
2 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/backends/tpm.c b/backends/tpm.c
index 4a6358e..f048c1d 100644
--- a/backends/tpm.c
+++ b/backends/tpm.c
@@ -88,8 +88,15 @@ bool tpm_backend_had_startup_error(TPMBackend *s)
size_t tpm_backend_realloc_buffer(TPMBackend *s, TPMSizedBuffer *sb)
{
TPMBackendClass *k = TPM_BACKEND_GET_CLASS(s);
+ if (!k->ops->realloc_buffer) {
+ size_t wanted_size = 4096; /* Linux tpm.c buffer size */
- assert(k->ops->realloc_buffer);
+ if (sb->size != wanted_size) {
+ sb->buffer = g_realloc(sb->buffer, wanted_size);
+ sb->size = wanted_size;
+ }
+ return sb->size;
+ }
return k->ops->realloc_buffer(sb);
}
diff --git a/hw/tpm/tpm_passthrough.c b/hw/tpm/tpm_passthrough.c
index 2efced1..a7da0f8 100644
--- a/hw/tpm/tpm_passthrough.c
+++ b/hw/tpm/tpm_passthrough.c
@@ -258,17 +258,6 @@ static bool tpm_passthrough_get_startup_error(TPMBackend
*tb)
return tpm_pt->had_startup_error;
}
-static size_t tpm_passthrough_realloc_buffer(TPMSizedBuffer *sb)
-{
- size_t wanted_size = 4096; /* Linux tpm.c buffer size */
-
- if (sb->size != wanted_size) {
- sb->buffer = g_realloc(sb->buffer, wanted_size);
- sb->size = wanted_size;
- }
- return sb->size;
-}
-
static void tpm_passthrough_cancel_cmd(TPMBackend *tb)
{
TPMPassthruState *tpm_pt = TPM_PASSTHROUGH(tb);
@@ -470,7 +459,6 @@ static const TPMDriverOps tpm_passthrough_driver = {
.opts = tpm_passthrough_cmdline_opts,
.desc = tpm_passthrough_create_desc,
.create = tpm_passthrough_create,
- .realloc_buffer = tpm_passthrough_realloc_buffer,
.reset = tpm_passthrough_reset,
.had_startup_error = tpm_passthrough_get_startup_error,
.cancel_cmd = tpm_passthrough_cancel_cmd,
--
2.7.4
- [Qemu-devel] [PATCH v3 3/8] tpm-backend: Initialize and free data members in it's own methods, (continued)
[Qemu-devel] [PATCH v3 7/8] tpm-passthrough: move reusable code to utils, Amarnath Valluri, 2017/05/02
[Qemu-devel] [PATCH v3 8/8] tpm: Added support for TPM emulator, Amarnath Valluri, 2017/05/02