On 12 August 2015 at 17:41, Paolo Bonzini <pbonz...@redhat.com> wrote: > tb_lock has to be taken inside the mmap_lock (example: > tb_invalidate_phys_range is called by target_mmap), but > tb_link_page is taking the mmap_lock and it is called > with the tb_lock held. > > To fix this, take the mmap_lock in tb_find_slow, not > in tb_link_page. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
Dropping the outer lock and continuing to hold the inner one looks rather weird, but I think this is all OK. Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM