[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 6/8] tpm-backend: Move realloc_buffer() imple
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v3 6/8] tpm-backend: Move realloc_buffer() implementation to base class |
Date: |
Tue, 02 May 2017 15:54:46 +0000 |
Hi
On Tue, May 2, 2017 at 3:53 PM Amarnath Valluri <address@hidden>
wrote:
> Provide base implementation of realloc_buffer(), so that backend
> implementations
> can resue.
>
>
I doubt that base class facility helps at this point, and would suggest
moving it to tpm-tis only.
> 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
>
> --
Marc-André Lureau
- Re: [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