Messages in this thread Patch in this message | | | From | "Uladzislau Rezki (Sony)" <> | Subject | [PATCH v2 1/1] mm/vmalloc.c: Add an error message if two areas overlap | Date | Fri, 10 Jul 2020 21:44:43 +0200 |
| |
Before triggering a BUG() it would be useful to understand how two areas overlap between each other. Print information about start/end addresses of both VAs and their addresses.
For example if both are identical it could mean double free.
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com> --- mm/vmalloc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 5a2b55c8dd9a..db2e1020dc51 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -549,8 +549,13 @@ find_va_links(struct vmap_area *va, else if (va->va_end > tmp_va->va_start && va->va_start >= tmp_va->va_end) link = &(*link)->rb_right; - else + else { + pr_err("Overlaps: 0x%px(0x%lx-0x%lx), 0x%px(0x%lx-0x%lx)\n", + va, va->va_start, va->va_end, tmp_va, + tmp_va->va_start, tmp_va->va_end); + BUG(); + } } while (*link); *parent = &tmp_va->rb_node; -- 2.20.1
| |