Index: vmm.c =================================================================== RCS file: /cvs/src/sys/arch/amd64/amd64/vmm.c,v retrieving revision 1.324 diff -u -p -r1.324 vmm.c --- vmm.c 1 Nov 2022 01:01:14 -0000 1.324 +++ vmm.c 5 Nov 2022 19:25:26 -0000 @@ -116,6 +116,7 @@ SLIST_HEAD(vmlist_head, vm); */ struct vmm_softc { struct device sc_dev; /* [r] */ + unsigned int sc_open; /* [K] */ /* Suspend/Resume Synchronization */ struct refcnt sc_refcnt; @@ -641,6 +642,10 @@ vmmopen(dev_t dev, int flag, int mode, s if (vmm_softc->mode != VMM_MODE_EPT && vmm_softc->mode != VMM_MODE_RVI) return (ENODEV); + if (vmm_softc->sc_open) + return (EBUSY); + vmm_softc->sc_open = 1; + return 0; } @@ -764,6 +769,8 @@ pledge_ioctl_vmm(struct proc *p, long co int vmmclose(dev_t dev, int flag, int mode, struct proc *p) { + vmm_softc->sc_open = 0; + return 0; }