Revert "memory: Use canonical path component as the name"

This reverts commit b0225c2c0d89200a29dc3d0b59d2e87a79cbaeb8
(which breaks building with Xen enabled and also leaks memory).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 10f73d9..d165b27 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -162,6 +162,7 @@
     QTAILQ_HEAD(subregions, MemoryRegion) subregions;
     QTAILQ_ENTRY(MemoryRegion) subregions_link;
     QTAILQ_HEAD(coalesced_ranges, CoalescedMemoryRange) coalesced;
+    const char *name;
     uint8_t dirty_log_mask;
     unsigned ioeventfd_nb;
     MemoryRegionIoeventfd *ioeventfds;
diff --git a/memory.c b/memory.c
index d0966c0..42317a2 100644
--- a/memory.c
+++ b/memory.c
@@ -914,6 +914,7 @@
     if (size == UINT64_MAX) {
         mr->size = int128_2_64();
     }
+    mr->name = g_strdup(name);
 
     if (name) {
         object_property_add_child_array(owner, name, OBJECT(mr));
@@ -1258,6 +1259,7 @@
     assert(memory_region_transaction_depth == 0);
     mr->destructor(mr);
     memory_region_clear_coalescing(mr);
+    g_free((char *)mr->name);
     g_free(mr->ioeventfds);
 }
 
@@ -1307,7 +1309,7 @@
 
 const char *memory_region_name(const MemoryRegion *mr)
 {
-    return object_get_canonical_path_component(OBJECT(mr));
+    return mr->name;
 }
 
 bool memory_region_is_ram(MemoryRegion *mr)