Commit 2b756a2b authored by Dariusz Stojaczyk's avatar Dariusz Stojaczyk Committed by Jim Harris
Browse files

rte_virtio: fix access to unaligned struct



Change-Id: I8eaf5477d6d0e6f939ae9ad4db976f47cc60f0e2
Signed-off-by: default avatarDariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/381513


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 5b17046d
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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);
	}