All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>
Cc: kvm@vger.kernel.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Eric Blake" <eblake@redhat.com>, "Fam Zheng" <fam@euphon.net>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Keith Busch" <kbusch@kernel.org>,
	"Max Reitz" <mreitz@redhat.com>,
	qemu-block@nongnu.org, "Kevin Wolf" <kwolf@redhat.com>,
	"Coiby Xu" <Coiby.Xu@gmail.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Klaus Jensen" <its@irrelevant.dk>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Eric Auger" <eric.auger@redhat.com>
Subject: [PULL 33/33] util/vfio-helpers: Assert offset is aligned to page size
Date: Wed,  4 Nov 2020 15:18:28 +0000	[thread overview]
Message-ID: <20201104151828.405824-34-stefanha@redhat.com> (raw)
In-Reply-To: <20201104151828.405824-1-stefanha@redhat.com>

From: Philippe Mathieu-Daudé <philmd@redhat.com>

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>
---
 util/vfio-helpers.c | 1 +
 1 file changed, 1 insertion(+)

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,
-- 
2.28.0


WARNING: multiple messages have this Message-ID (diff)
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>
Cc: "Fam Zheng" <fam@euphon.net>, "Kevin Wolf" <kwolf@redhat.com>,
	qemu-block@nongnu.org, "Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	kvm@vger.kernel.org, "Eric Auger" <eric.auger@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Coiby Xu" <Coiby.Xu@gmail.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	"Klaus Jensen" <its@irrelevant.dk>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Keith Busch" <kbusch@kernel.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Max Reitz" <mreitz@redhat.com>
Subject: [PULL 33/33] util/vfio-helpers: Assert offset is aligned to page size
Date: Wed,  4 Nov 2020 15:18:28 +0000	[thread overview]
Message-ID: <20201104151828.405824-34-stefanha@redhat.com> (raw)
In-Reply-To: <20201104151828.405824-1-stefanha@redhat.com>

From: Philippe Mathieu-Daudé <philmd@redhat.com>

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>
---
 util/vfio-helpers.c | 1 +
 1 file changed, 1 insertion(+)

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,
-- 
2.28.0


  parent reply	other threads:[~2020-11-04 15:22 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-04 15:17 [PULL 00/33] Block patches Stefan Hajnoczi
2020-11-04 15:17 ` Stefan Hajnoczi
2020-11-04 15:17 ` [PULL 01/33] accel/kvm: add PIO ioeventfds only in case kvm_eventfds_allowed is true Stefan Hajnoczi
2020-11-04 15:17   ` Stefan Hajnoczi
2020-11-04 15:17 ` [PULL 02/33] softmmu/memory: fix memory_region_ioeventfd_equal() Stefan Hajnoczi
2020-11-04 15:17   ` Stefan Hajnoczi
2020-11-04 15:17 ` [PULL 03/33] MAINTAINERS: Cover "block/nvme.h" file Stefan Hajnoczi
2020-11-04 15:17   ` Stefan Hajnoczi
2020-11-04 15:17 ` [PULL 04/33] block/nvme: Use hex format to display offset in trace events Stefan Hajnoczi
2020-11-04 15:17   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 05/33] block/nvme: Report warning with warn_report() Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 06/33] block/nvme: Trace controller capabilities Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 07/33] block/nvme: Trace nvme_poll_queue() per queue Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 08/33] block/nvme: Improve nvme_free_req_queue_wait() trace information Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 09/33] block/nvme: Trace queue pair creation/deletion Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 10/33] block/nvme: Move definitions before structure declarations Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 11/33] block/nvme: Use unsigned integer for queue counter/size Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 12/33] block/nvme: Make nvme_identify() return boolean indicating error Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 13/33] block/nvme: Make nvme_init_queue() " Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 14/33] block/nvme: Introduce Completion Queue definitions Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 15/33] block/nvme: Use definitions instead of magic values in add_io_queue() Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 16/33] block/nvme: Correctly initialize Admin Queue Attributes Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 17/33] block/nvme: Simplify ADMIN queue access Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 18/33] block/nvme: Simplify nvme_cmd_sync() Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 19/33] block/nvme: Set request_alignment at initialization Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 20/33] block/nvme: Correct minimum device page size Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 21/33] block/nvme: Change size and alignment of IDENTIFY response buffer Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 22/33] block/nvme: Change size and alignment of queue Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 23/33] block/nvme: Change size and alignment of prp_list_pages Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 24/33] block/nvme: Align iov's va and size on host page size Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 25/33] block/nvme: Fix use of write-only doorbells page on Aarch64 arch Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 26/33] block/nvme: Fix nvme_submit_command() on big-endian host Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 27/33] util/vfio-helpers: Improve reporting unsupported IOMMU type Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 28/33] util/vfio-helpers: Trace PCI I/O config accesses Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 29/33] util/vfio-helpers: Trace PCI BAR region info Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 30/33] util/vfio-helpers: Trace where BARs are mapped Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 31/33] util/vfio-helpers: Improve DMA trace events Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` [PULL 32/33] util/vfio-helpers: Convert vfio_dump_mapping to " Stefan Hajnoczi
2020-11-04 15:18   ` Stefan Hajnoczi
2020-11-04 15:18 ` Stefan Hajnoczi [this message]
2020-11-04 15:18   ` [PULL 33/33] util/vfio-helpers: Assert offset is aligned to page size Stefan Hajnoczi
2020-11-04 20:59 ` [PULL 00/33] Block patches Peter Maydell
2020-11-04 20:59   ` Peter Maydell
2020-11-23 12:55   ` Philippe Mathieu-Daudé
2020-11-23 12:55     ` Philippe Mathieu-Daudé
2020-11-23 14:47     ` Peter Maydell
2020-11-23 14:47       ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201104151828.405824-34-stefanha@redhat.com \
    --to=stefanha@redhat.com \
    --cc=Coiby.Xu@gmail.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=fam@euphon.net \
    --cc=its@irrelevant.dk \
    --cc=kbusch@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.