From 221b3a3f1e5edb9e41a48bfa384803800184b397 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Wed, 4 Apr 2012 15:15:41 +0100 Subject: memory: check address space when a listener is registered This patch resolves a bug in memory listener registration. "range_add" callback was called on each section of the both address space (IO and memory space) even if it doesn't match the address space filter. Signed-off-by: Julien Grall Signed-off-by: Avi Kivity --- memory.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/memory.c b/memory.c index a3f5b5999..aab4a3132 100644 --- a/memory.c +++ b/memory.c @@ -1444,6 +1444,11 @@ static void listener_add_address_space(MemoryListener *listener, { FlatRange *fr; + if (listener->address_space_filter + && listener->address_space_filter != as->root) { + return; + } + if (global_dirty_log) { listener->log_global_start(listener); } -- cgit v1.2.3