On 22.06.22 11:59, Zhenzhong Duan wrote: > The end address of memory region section isn't correctly calculated > which leads to overflowed mtree dump: > > Dispatch > Physical sections > ...... > #70 @0000000000002000..0000000000011fff io [ROOT] > #71 @0000000000005000..0000000000005fff (noname) > #72 @0000000000005000..0000000000014fff io [ROOT] > #73 @0000000000005658..0000000000005658 vmport > #74 @0000000000005659..0000000000015658 io [ROOT] > #75 @0000000000006000..0000000000015fff io [ROOT] > > After fix: > #70 @0000000000002000..0000000000004fff io [ROOT] > #71 @0000000000005000..0000000000005fff (noname) > #72 @0000000000005000..0000000000005657 io [ROOT] > #73 @0000000000005658..0000000000005658 vmport > #74 @0000000000005659..0000000000005fff io [ROOT] > #75 @0000000000006000..000000000000ffff io [ROOT] > > Fixes: 5e8fd947e2670 ("memory: Rework "info mtree" to print flat views and > dispatch trees") > Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com> > --- > softmmu/physmem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/softmmu/physmem.c b/softmmu/physmem.c > index 214cb04c8fc3..cbabd10ac0bf 100644 > --- a/softmmu/physmem.c > +++ b/softmmu/physmem.c > @@ -3701,7 +3701,7 @@ void mtree_print_dispatch(AddressSpaceDispatch *d, > MemoryRegion *root) > " %s%s%s%s%s", > i, > s->offset_within_address_space, > - s->offset_within_address_space + MR_SIZE(s->mr->size), > + s->offset_within_address_space + MR_SIZE(s->size), > s->mr->name ? s->mr->name : "(noname)", > i < ARRAY_SIZE(names) ? names[i] : "", > s->mr == root ? " [ROOT]" : "",
Reviewed-by: David Hildenbrand <da...@redhat.com> I assume this should get picked up soonish. -- Thanks, David / dhildenb