61 lines
3.1 KiB
Diff
61 lines
3.1 KiB
Diff
|
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
|||
|
Date: Fri, 3 May 2019 15:00:29 +0200
|
|||
|
Subject: libvhost-user: fix -Waddress-of-packed-member
|
|||
|
MIME-Version: 1.0
|
|||
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|||
|
/home/elmarco/src/qemu/contrib/libvhost-user/libvhost-user.c: In function ‘vu_set_mem_table_exec_postcopy’:
|
|||
|
/home/elmarco/src/qemu/contrib/libvhost-user/libvhost-user.c:546:31: warning: taking address of packed member of ‘struct VhostUserMsg’ may result in an unaligned pointer value [-Waddress-of-packed-member]
|
|||
|
546 | VhostUserMemory *memory = &vmsg->payload.memory;
|
|||
|
| ^~~~~~~~~~~~~~~~~~~~~
|
|||
|
/home/elmarco/src/qemu/contrib/libvhost-user/libvhost-user.c: In function ‘vu_set_mem_table_exec’:
|
|||
|
/home/elmarco/src/qemu/contrib/libvhost-user/libvhost-user.c:688:31: warning: taking address of packed member of ‘struct VhostUserMsg’ may result in an unaligned pointer value [-Waddress-of-packed-member]
|
|||
|
688 | VhostUserMemory *memory = &vmsg->payload.memory;
|
|||
|
| ^~~~~~~~~~~~~~~~~~~~~
|
|||
|
/home/elmarco/src/qemu/contrib/libvhost-user/libvhost-user.c: In function ‘vu_set_vring_addr_exec’:
|
|||
|
/home/elmarco/src/qemu/contrib/libvhost-user/libvhost-user.c:817:36: warning: taking address of packed member of ‘struct VhostUserMsg’ may result in an unaligned pointer value [-Waddress-of-packed-member]
|
|||
|
817 | struct vhost_vring_addr *vra = &vmsg->payload.addr;
|
|||
|
| ^~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|||
|
Message-id: 20190503130034.24916-2-marcandre.lureau@redhat.com
|
|||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|||
|
(cherry picked from commit d288eef3a0a8ac46cc45808b50d73606476148b0)
|
|||
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|||
|
---
|
|||
|
contrib/libvhost-user/libvhost-user.c | 6 +++---
|
|||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|||
|
|
|||
|
diff --git a/contrib/libvhost-user/libvhost-user.c b/contrib/libvhost-user/libvhost-user.c
|
|||
|
index e08d6c7b97..dcf4a969f2 100644
|
|||
|
--- a/contrib/libvhost-user/libvhost-user.c
|
|||
|
+++ b/contrib/libvhost-user/libvhost-user.c
|
|||
|
@@ -542,7 +542,7 @@ static bool
|
|||
|
vu_set_mem_table_exec_postcopy(VuDev *dev, VhostUserMsg *vmsg)
|
|||
|
{
|
|||
|
int i;
|
|||
|
- VhostUserMemory *memory = &vmsg->payload.memory;
|
|||
|
+ VhostUserMemory m = vmsg->payload.memory, *memory = &m;
|
|||
|
dev->nregions = memory->nregions;
|
|||
|
|
|||
|
DPRINT("Nregions: %d\n", memory->nregions);
|
|||
|
@@ -684,7 +684,7 @@ static bool
|
|||
|
vu_set_mem_table_exec(VuDev *dev, VhostUserMsg *vmsg)
|
|||
|
{
|
|||
|
int i;
|
|||
|
- VhostUserMemory *memory = &vmsg->payload.memory;
|
|||
|
+ VhostUserMemory m = vmsg->payload.memory, *memory = &m;
|
|||
|
|
|||
|
for (i = 0; i < dev->nregions; i++) {
|
|||
|
VuDevRegion *r = &dev->regions[i];
|
|||
|
@@ -813,7 +813,7 @@ vu_set_vring_num_exec(VuDev *dev, VhostUserMsg *vmsg)
|
|||
|
static bool
|
|||
|
vu_set_vring_addr_exec(VuDev *dev, VhostUserMsg *vmsg)
|
|||
|
{
|
|||
|
- struct vhost_vring_addr *vra = &vmsg->payload.addr;
|
|||
|
+ struct vhost_vring_addr addr = vmsg->payload.addr, *vra = &addr;
|
|||
|
unsigned int index = vra->index;
|
|||
|
VuVirtq *vq = &dev->vq[index];
|
|||
|
|