On 28.12.22 10:03, Chenyi Qiang wrote:
It should be the variable rdl2 to revert the already-notified listeners.

Fixes: 2044969f0b ("virtio-mem: Implement RamDiscardManager interface")
Signed-off-by: Chenyi Qiang <chenyi.qi...@intel.com>
---
  hw/virtio/virtio-mem.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
index d96bde1fab..88c9c10318 100644
--- a/hw/virtio/virtio-mem.c
+++ b/hw/virtio/virtio-mem.c
@@ -341,7 +341,7 @@ static int virtio_mem_notify_plug(VirtIOMEM *vmem, uint64_t 
offset,
      if (ret) {
          /* Notify all already-notified listeners. */
          QLIST_FOREACH(rdl2, &vmem->rdl_list, next) {
-            MemoryRegionSection tmp = *rdl->section;
+            MemoryRegionSection tmp = *rdl2->section;
if (rdl2 == rdl) {
                  break;

Indeed, most probably we barely hit that error path in practice. Thanks!

I really have to find a way to simulate a sparse bitmap easily, and to inject errors to better test these paths.

https://github.com/davidhildenbrand/qemu.git mem-next

--
Thanks,

David / dhildenb


Reply via email to