Hi
On Fri, Jul 12, 2024 at 10:25 AM Ani Sinha <anisinha@redhat.com> wrote:
>
> Guest and host formats in struct FWCfgVMCoreInfo are written in little endian
> format. However, the hypervisor host might be big endian. We need to do
> appropriate conversions between the formats before comparing the values. Fix it.
>
Looks right, but that shouldn't matter since the comparison is with 0.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Signed-off-by: Ani Sinha <anisinha@redhat.com>
> ---
> hw/misc/vmcoreinfo.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/misc/vmcoreinfo.c b/hw/misc/vmcoreinfo.c
> index 833773ade5..e00df95e29 100644
> --- a/hw/misc/vmcoreinfo.c
> +++ b/hw/misc/vmcoreinfo.c
> @@ -21,9 +21,10 @@
> static void fw_cfg_vmci_write(void *dev, off_t offset, size_t len)
> {
> VMCoreInfoState *s = VMCOREINFO(dev);
> + uint16_t guest_format = le16_to_cpu(s->vmcoreinfo.guest_format);
>
> s->has_vmcoreinfo = offset == 0 && len == sizeof(s->vmcoreinfo)
> - && s->vmcoreinfo.guest_format != FW_CFG_VMCOREINFO_FORMAT_NONE;
> + && guest_format != FW_CFG_VMCOREINFO_FORMAT_NONE;
> }
>
> static void vmcoreinfo_reset(void *dev)
> --
> 2.42.0
>