projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bc5add1
)
memory: Fix wrong end address dump
author
Zhenzhong Duan
<zhenzhong.duan@intel.com>
Wed, 22 Jun 2022 09:59:12 +0000
(17:59 +0800)
committer
Stefan Hajnoczi
<stefanha@redhat.com>
Tue, 8 Nov 2022 20:53:40 +0000
(15:53 -0500)
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.duan@intel.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <
20220622095912
.
3430583
-1-zhenzhong.duan@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
softmmu/physmem.c
patch
|
blob
|
history
diff --git
a/softmmu/physmem.c
b/softmmu/physmem.c
index d9578ccfd421404015e99110ac3054872fa15c48..1b606a3002f4fe2e88b921b01afc67f2417092ea 100644
(file)
--- a/
softmmu/physmem.c
+++ b/
softmmu/physmem.c
@@
-3712,7
+3712,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]" : "",