aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Wing <rew@FreeBSD.org>2023-01-20 10:03:59 +0000
committerRobert Wing <rew@FreeBSD.org>2023-01-20 10:03:59 +0000
commitccf32a68f821c5c724fb9a5b4b9576925122292f (patch)
treeab37362959cf913e97efa619d4251f8c97566b16
parentfa1d803c0f652d72840a3c59139baf9d30792860 (diff)
downloadsrc-ccf32a68f821c5c724fb9a5b4b9576925122292f.tar.gz
src-ccf32a68f821c5c724fb9a5b4b9576925122292f.zip
vmm: take exclusive mem_segs_lock when (un)assigning ppt dev
PR: 268744 Reported by: mmatalka@gmail.com Reviewed by: corvink, markj, jhb Fixes: 67b69e76e8ee ("vmm: Use an sx lock to protect the memory map.") Differential Revision: https://reviews.freebsd.org/D37962
-rw-r--r--sys/amd64/vmm/vmm_dev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c
index 98738b1f0692..2d8ff43a74dd 100644
--- a/sys/amd64/vmm/vmm_dev.c
+++ b/sys/amd64/vmm/vmm_dev.c
@@ -479,6 +479,8 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag,
case VM_ALLOC_MEMSEG_FBSD12:
#endif
case VM_ALLOC_MEMSEG:
+ case VM_BIND_PPTDEV:
+ case VM_UNBIND_PPTDEV:
case VM_MMAP_MEMSEG:
case VM_MUNMAP_MEMSEG:
case VM_REINIT:
@@ -491,8 +493,6 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag,
/* FALLTHROUGH */
case VM_MAP_PPTDEV_MMIO:
case VM_UNMAP_PPTDEV_MMIO:
- case VM_BIND_PPTDEV:
- case VM_UNBIND_PPTDEV:
#ifdef BHYVE_SNAPSHOT
case VM_SNAPSHOT_REQ:
case VM_RESTORE_TIME: