From: David Hildenbrand <david@redhat.com>
To: qemu-devel@nongnu.org
Cc: Thomas Huth <thuth@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Joe Clifford <joeclifford@gmail.com>,
David Hildenbrand <david@redhat.com>
Subject: [Qemu-devel] [PATCH v1 1/7] memory: call log_start after region_add
Date: Mon, 16 Oct 2017 16:42:56 +0200 [thread overview]
Message-ID: <20171016144302.24284-2-david@redhat.com> (raw)
In-Reply-To: <20171016144302.24284-1-david@redhat.com>
It might be confusing for some listener implementations that implement
both, region_add and log_start (e.g. KVM) if we call log_start before an
actual region was added using region_add.
This makes current KVM code trigger an assertion
("kvm_section_update_flags: error finding slot"). So let's just reverse
the order instead of tolerating log_start on yet unknown regions.
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
---
memory.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/memory.c b/memory.c
index 5e6351a6c1..f39b8592bf 100644
--- a/memory.c
+++ b/memory.c
@@ -2607,12 +2607,12 @@ static void listener_add_address_space(MemoryListener *listener,
.offset_within_address_space = int128_get64(fr->addr.start),
.readonly = fr->readonly,
};
- if (fr->dirty_log_mask && listener->log_start) {
- listener->log_start(listener, §ion, 0, fr->dirty_log_mask);
- }
if (listener->region_add) {
listener->region_add(listener, §ion);
}
+ if (fr->dirty_log_mask && listener->log_start) {
+ listener->log_start(listener, §ion, 0, fr->dirty_log_mask);
+ }
}
if (listener->commit) {
listener->commit(listener);
--
2.13.5
next prev parent reply other threads:[~2017-10-16 14:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-16 14:42 [Qemu-devel] [PATCH v1 0/7] kvm: slot handling fixes (and small cleanups) David Hildenbrand
2017-10-16 14:42 ` David Hildenbrand [this message]
2017-10-16 14:42 ` [Qemu-devel] [PATCH v1 2/7] kvm: fix alignment of ram address David Hildenbrand
2017-10-16 14:42 ` [Qemu-devel] [PATCH v1 3/7] kvm: tolerate non-existing slot for log_start/log_stop/log_sync David Hildenbrand
2017-10-16 14:42 ` [Qemu-devel] [PATCH v1 4/7] kvm: fix error message when failing to unregister slot David Hildenbrand
2017-10-16 14:43 ` [Qemu-devel] [PATCH v1 5/7] kvm: region_add and region_del is not called on updates David Hildenbrand
2017-10-16 14:43 ` [Qemu-devel] [PATCH v1 6/7] kvm: simplify kvm_align_section() David Hildenbrand
2017-10-16 14:43 ` [Qemu-devel] [PATCH v1 7/7] memory: reuse section_from_flat_range() David Hildenbrand
2017-10-16 16:20 ` [Qemu-devel] [PATCH v1 0/7] kvm: slot handling fixes (and small cleanups) Paolo Bonzini
2017-10-17 0:06 ` Joe Clifford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171016144302.24284-2-david@redhat.com \
--to=david@redhat.com \
--cc=joeclifford@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.