aboutsummaryrefslogtreecommitdiff
path: root/src/regions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/regions.c')
-rw-r--r--src/regions.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/regions.c b/src/regions.c
index 2db1a91..2c11db0 100644
--- a/src/regions.c
+++ b/src/regions.c
@@ -241,6 +241,16 @@ struct mem_region *find_used_region(struct mem_region_root *r, vm_t start)
return 0;
}
+struct mem_region *find_addr_region(struct mem_region_root *r, vm_t addr)
+{
+ size_t ref = __page(addr);
+ struct mem_region *m = find_closest_used_region(r, addr);
+ if (!m || (ref < m->start || ref > m->end) || !is_region_used(m))
+ return NULL;
+
+ return m;
+}
+
/**
* Create memory region.
*