[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 12/23] target/i386/sev: Use g_autofree in sev_launch_get_m
From: |
Dov Murik |
Subject: |
Re: [PATCH v4 12/23] target/i386/sev: Use g_autofree in sev_launch_get_measure() |
Date: |
Thu, 7 Oct 2021 19:28:10 +0300 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 |
On 07/10/2021 19:17, Philippe Mathieu-Daudé wrote:
> Use g_autofree to remove a pair of g_free/goto.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> target/i386/sev.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/target/i386/sev.c b/target/i386/sev.c
> index 3a30ba6d94a..5cbbcf0bb93 100644
> --- a/target/i386/sev.c
> +++ b/target/i386/sev.c
> @@ -685,8 +685,8 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
> {
> SevGuestState *sev = sev_guest;
> int ret, error;
> - guchar *data;
> - struct kvm_sev_launch_measure *measurement;
> + g_autofree guchar *data = NULL;
> + g_autofree struct kvm_sev_launch_measure *measurement = NULL;
Sorry for joining so late, but why do we allocate struct
kvm_sev_launch_measure on the heap (even before this patch)? It's only
12 bytes. Might be simpler to have a local (stack) variable and not care
about memory management.
-Dov
>
> if (!sev_check_state(sev, SEV_STATE_LAUNCH_UPDATE)) {
> return;
> @@ -708,7 +708,7 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
> if (!measurement->len) {
> error_report("%s: LAUNCH_MEASURE ret=%d fw_error=%d '%s'",
> __func__, ret, error, fw_error_to_str(errno));
> - goto free_measurement;
> + return;
> }
>
> data = g_new0(guchar, measurement->len);
> @@ -720,7 +720,7 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
> if (ret) {
> error_report("%s: LAUNCH_MEASURE ret=%d fw_error=%d '%s'",
> __func__, ret, error, fw_error_to_str(errno));
> - goto free_data;
> + return;
> }
>
> sev_set_guest_state(sev, SEV_STATE_LAUNCH_SECRET);
> @@ -728,11 +728,6 @@ sev_launch_get_measure(Notifier *notifier, void *unused)
> /* encode the measurement value and emit the event */
> sev->measurement = g_base64_encode(data, measurement->len);
> trace_kvm_sev_launch_measurement(sev->measurement);
> -
> -free_data:
> - g_free(data);
> -free_measurement:
> - g_free(measurement);
> }
>
> char *
>
- [PATCH v4 04/23] target/i386/kvm: Restrict SEV stubs to x86 architecture, (continued)
- [PATCH v4 04/23] target/i386/kvm: Restrict SEV stubs to x86 architecture, Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 05/23] target/i386/sev: Prefix QMP errors with 'SEV', Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 06/23] target/i386/monitor: Return QMP error when SEV is not enabled for guest, Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 07/23] target/i386/cpu: Add missing 'qapi/error.h' header, Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 08/23] target/i386/sev_i386.h: Remove unused headers, Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 09/23] target/i386/sev: Remove sev_get_me_mask(), Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 10/23] target/i386/sev: Mark unreachable code with g_assert_not_reached(), Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 11/23] target/i386/sev: sev_get_attestation_report use g_autofree, Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 12/23] target/i386/sev: Use g_autofree in sev_launch_get_measure(), Philippe Mathieu-Daudé, 2021/10/07
- Re: [PATCH v4 12/23] target/i386/sev: Use g_autofree in sev_launch_get_measure(),
Dov Murik <=
- [PATCH v4 13/23] target/i386/sev: Restrict SEV to system emulation, Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 14/23] target/i386/sev: Rename sev_i386.h -> sev.h, Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 15/23] target/i386/sev: Declare system-specific functions in 'sev.h', Philippe Mathieu-Daudé, 2021/10/07
- [PATCH v4 16/23] target/i386/sev: Remove stubs by using code elision, Philippe Mathieu-Daudé, 2021/10/07