rte_virtio: fix access to unaligned struct

Change-Id: I8eaf5477d6d0e6f939ae9ad4db976f47cc60f0e2
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/381513
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2017-10-05 17:53:43 +02:00 committed by Jim Harris
parent 5b17046d11
commit 2b756a2bff

View File

@ -236,7 +236,6 @@ prepare_vhost_memory_user(struct vhost_user_msg *msg, int fds[])
{
int i, num;
struct hugepage_file_info huges[VHOST_MEMORY_MAX_NREGIONS];
struct vhost_memory_region *mr;
num = get_hugepage_file_info(huges, VHOST_MEMORY_MAX_NREGIONS);
if (num < 0) {
@ -245,11 +244,11 @@ prepare_vhost_memory_user(struct vhost_user_msg *msg, int fds[])
}
for (i = 0; i < num; ++i) {
mr = &msg->payload.memory.regions[i];
mr->guest_phys_addr = huges[i].addr; /* use vaddr! */
mr->userspace_addr = huges[i].addr;
mr->memory_size = huges[i].size;
mr->mmap_offset = 0;
/* the memory regions are unaligned */
msg->payload.memory.regions[i].guest_phys_addr = huges[i].addr; /* use vaddr! */
msg->payload.memory.regions[i].userspace_addr = huges[i].addr;
msg->payload.memory.regions[i].memory_size = huges[i].size;
msg->payload.memory.regions[i].mmap_offset = 0;
fds[i] = open(huges[i].path, O_RDWR);
}