+static int bar_mapping_destroy(bar_mapping_t *barmap)
+{
+ off_t mmap_start;
+ size_t mmap_size;
+ size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
+
+ mmap_start = barmap->mmap_offset & ~page_mask;
+ mmap_size = barmap->mmap_offset + barmap->size + page_mask - mmap_start;
+ mmap_size &= ~page_mask;
+
+ return munmap(barmap->mmap_addr, mmap_size);
+}
+