Commit cf504cd6 authored by David Gibson's avatar David Gibson Committed by Paolo Bonzini
Browse files

target/i386: sev: Remove redundant handle field



The user can explicitly specify a handle via the "handle" property wired
to SevGuestState::handle.  That gets passed to the KVM_SEV_LAUNCH_START
ioctl() which may update it, the final value being copied back to both
SevGuestState::handle and SEVState::handle.

AFAICT, nothing will be looking SEVState::handle before it and
SevGuestState::handle have been updated from the ioctl().  So, remove the
field and just use SevGuestState::handle directly.

Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Message-Id: <20200604064219.436242-9-david@gibson.dropbear.id.au>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 0bd15277
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -40,7 +40,6 @@ struct SEVState {
    uint8_t api_minor;
    uint8_t build_id;
    uint64_t me_mask;
    uint32_t handle;
    int sev_fd;
    SevState state;
    gchar *measurement;
@@ -64,13 +63,13 @@ struct SevGuestState {
    /* configuration parameters */
    char *sev_device;
    uint32_t policy;
    uint32_t handle;
    char *dh_cert_file;
    char *session_file;
    uint32_t cbitpos;
    uint32_t reduced_phys_bits;

    /* runtime state */
    uint32_t handle;
    SEVState state;
};

@@ -398,7 +397,7 @@ sev_get_info(void)
        info->build_id = sev_guest->state.build_id;
        info->policy = sev_guest->policy;
        info->state = sev_guest->state.state;
        info->handle = sev_guest->state.handle;
        info->handle = sev_guest->handle;
    }

    return info;
@@ -517,8 +516,7 @@ sev_launch_start(SevGuestState *sev)

    start = g_new0(struct kvm_sev_launch_start, 1);

    start->handle = object_property_get_int(OBJECT(sev), "handle",
                                            &error_abort);
    start->handle = sev->handle;
    start->policy = sev->policy;
    if (sev->session_file) {
        if (sev_read_file_base64(sev->session_file, &session, &sz) < 0) {
@@ -544,10 +542,8 @@ sev_launch_start(SevGuestState *sev)
        goto out;
    }

    object_property_set_int(OBJECT(sev), start->handle, "handle",
                            &error_abort);
    sev_set_guest_state(sev, SEV_STATE_LAUNCH_UPDATE);
    s->handle = start->handle;
    sev->handle = start->handle;
    ret = 0;

out: