On Tue, 13 Dec 2022 at 13:36, Chuang Xu <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> > --- > 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