On 2022/12/16 上午12:51, Peter Maydell wrote: On Tue, 13 Dec 2022 at 13:36, Chuang Xu <xuchuangxc...@bytedance.com> <xuchuangxc...@bytedance.com> wrote:
Before using any flatview, sanity check we're not during a memory region transaction or the map can be invalid. Signed-off-by: Chuang Xu <xuchuangxc...@bytedance.com> <xuchuangxc...@bytedance.com> --- include/exec/memory.h | 9 +++++++++ softmmu/memory.c | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index 91f8a2395a..b43cd46084 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -1069,8 +1069,17 @@ struct FlatView { MemoryRegion *root; }; +static unsigned memory_region_transaction_depth; This looks odd. If you define a static variable in a header file then each .c file which directly or indirectly includes the header will get its own private copy of the variable. This probably isn't what you want... thanks -- PMM Yes, Maybe we should add a function to acquire the value.. I'll add this part to v4. Thanks!