diff options
Diffstat (limited to 'src/regions.c')
| -rw-r--r-- | src/regions.c | 10 |
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. * |
