summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@redhat.com>2020-11-03 03:07:33 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2020-11-03 19:06:23 +0000
commitfc107d86840b3364e922c26cf7631b7fd38ce523 (patch)
treeab980778814158cf6e23b274f0a96b2131970ef6 /util
parentf6b8104d0b75a8c2b21bd3175e9ba9a402182b2e (diff)
util/vfio-helpers: Assert offset is aligned to page size
mmap(2) states: 'offset' must be a multiple of the page size as returned by sysconf(_SC_PAGE_SIZE). Add an assertion to be sure we don't break this contract. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20201103020733.2303148-8-philmd@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com>
Diffstat (limited to 'util')
-rw-r--r--util/vfio-helpers.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/util/vfio-helpers.c b/util/vfio-helpers.c
index 73f7bfa754..804768d5c6 100644
--- a/util/vfio-helpers.c
+++ b/util/vfio-helpers.c
@@ -162,6 +162,7 @@ void *qemu_vfio_pci_map_bar(QEMUVFIOState *s, int index,
Error **errp)
{
void *p;
+ assert(QEMU_IS_ALIGNED(offset, qemu_real_host_page_size));
assert_bar_index_valid(s, index);
p = mmap(NULL, MIN(size, s->bar_region_info[index].size - offset),
prot, MAP_SHARED,