elf_ops: correct loading of 32 bit PVH kernel
commit64d70277114b069579c96e6daf83922b9eacc383
authorDavid Edmondson <david.edmondson@oracle.com>
Tue, 2 Mar 2021 09:03:14 +0000 (2 09:03 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 6 Mar 2021 10:41:54 +0000 (6 11:41 +0100)
treee389dd82d596c2847d1ec50d9523a5d9187cbc6d
parentfaabca42cc4ff51110116dfe44d420c668b4d8d8
elf_ops: correct loading of 32 bit PVH kernel

Because sizeof(struct elf64_note) == sizeof(struct elf32_note),
attempting to use the size of the currently defined struct elf_note as
a discriminator for whether the object being loaded is 64 bit in
load_elf() fails.

Instead, take advantage of the existing glue parameter SZ, which is
defined as 32 or 64 in the respective variants of load_elf().

Fixes: 696aa04c84c6 ("elf-ops.h: Add get_elf_note_type()")
Signed-off-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20210302090315.3031492-2-david.edmondson@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/hw/elf_ops.h