qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 1902262] [NEW] vmstate_load_state return error into virtio_load fun


From: Jingtao
Subject: [Bug 1902262] [NEW] vmstate_load_state return error into virtio_load function
Date: Fri, 30 Oct 2020 15:47:33 -0000

Public bug reported:

Qemu version 4.2.1

In the function of virtio_load, the vmstate_load_state will return error
in the following case.

The virtio is legacy mode(disable-modern=on,disable-legacy=off),
virtio_device is in reset state.

In the the function of "vmstate_load_state", it will load all subsection. For 
the vmstate_virtio_extra_state subsection. 
It will execute:
vmstate_load_state   -->
          ret = field->info->get(f, curr_elem, size, field);    line 143  
vmstate.c.
           -->virtio_pci_load_extra_state
                        -->  vmstate_load_state
                                 -->qemu_peek_byte
But if the f->buf_index is same with buf_size, qemu_peek_byte function will set 
"-EIO" error. 
the field->info->get will return 0, then it will get the error "ret = 
qemu_file_get_error(f);". then the vmstate_load_state will return error.

It output is "Failed to load virtio/extra_state:extra_state"

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1902262

Title:
  vmstate_load_state return error into virtio_load function

Status in QEMU:
  New

Bug description:
  Qemu version 4.2.1

  In the function of virtio_load, the vmstate_load_state will return
  error in the following case.

  The virtio is legacy mode(disable-modern=on,disable-legacy=off),
  virtio_device is in reset state.

  In the the function of "vmstate_load_state", it will load all subsection. For 
the vmstate_virtio_extra_state subsection. 
  It will execute:
  vmstate_load_state   -->
            ret = field->info->get(f, curr_elem, size, field);    line 143  
vmstate.c.
             -->virtio_pci_load_extra_state
                          -->  vmstate_load_state
                                   -->qemu_peek_byte
  But if the f->buf_index is same with buf_size, qemu_peek_byte function will 
set "-EIO" error. 
  the field->info->get will return 0, then it will get the error "ret = 
qemu_file_get_error(f);". then the vmstate_load_state will return error.

  It output is "Failed to load virtio/extra_state:extra_state"

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1902262/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]