git: eb37d3cc565e - stable/13 - vmm: take exclusive mem_segs_lock when (un)assigning ppt dev

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Thu, 26 Jan 2023 22:12:08 UTC
The branch stable/13 has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=eb37d3cc565e278d568b0454fc3b2b9cab4c3518

commit eb37d3cc565e278d568b0454fc3b2b9cab4c3518
Author:     Robert Wing <rew@FreeBSD.org>
AuthorDate: 2023-01-20 10:03:59 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2023-01-26 22:05:13 +0000

    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
    
    (cherry picked from commit ccf32a68f821c5c724fb9a5b4b9576925122292f)
---
 sys/amd64/vmm/vmm_dev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c
index 1b8b1e6d388f..571e287dc4b6 100644
--- a/sys/amd64/vmm/vmm_dev.c
+++ b/sys/amd64/vmm/vmm_dev.c
@@ -476,6 +476,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:
@@ -488,8 +490,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: