From nobody Thu Jan 26 22:12:06 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2w126BgHz3c8N7; Thu, 26 Jan 2023 22:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2w125Q8nz3wLD; Thu, 26 Jan 2023 22:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUG5ki9HNhQUX875X8EaCR4d5Vi2rhM0G1YUNdwCuC0=; b=t1oXLlZm1zTyJOqhG4zGhXHWeBlOHS+K83ZZ+39XyJaoNL/gbobMiYLdDjE0Jecw1DhZCI phkn4MBpsxnlnli1pgolBjvT+N+OZ4k6owWMFSAyE+q2tnT0ekuODiJcA0VUE2b0LoOd+m PD0MiXZ0eoSNk5k8OVf/Gqj7zDDf+DuSHaXJqmH13BHMXkhyimQ5Eb7YO+X+WEXYKSMdOH UWjt0enHCL8U0DFQTGEdeEVShnzllsCOHMl+Bd8Tuhr0gEAyJT7x0xZY5uLa3fX0gkH+zq 6LUgfR0BtzJgBNEtkG1LCZwkFlb19UdHiOWaAC5veQnr0RfdbMMR+eCXIsHw0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674771126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mUG5ki9HNhQUX875X8EaCR4d5Vi2rhM0G1YUNdwCuC0=; b=tkoU6f+5cvrEb2QqJf7rvxmMMc0Glz7TsBkEkrHezRnHjNK6ekdY0Eh+rku76PFPSRiPYt ODxtWc8m79ONGtl+JpLcjhprcMLysLdbWSx6eb0TL2j/pDdnbIQkuqZDbwFt7U3IC3/9rC Zdi3c4ycliVvNsS3wR2Tg8JIRoEtIKmjMEiUGWFn5ETx5RTof8/hX1mv+SYnM9rIM55OS7 XXkJfFyRcGaNXdCAmRuNLKWG/oHKiqcl2Hir2XAB3BzrD2Vhg4ij/tvZIhyQVnT+b7uj4P P4ZhqSOMmBLMPITHLUI5Ux8Q7T/OcmEdjO8A88u53n8r636Gm9foQhCKHu++Ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674771126; a=rsa-sha256; cv=none; b=xPD3Lq1mpuOXr3NLYp0QWbSqIvuy7GLu9Q0kskH6PuOioC2YV2l/jGekennHEmMUG41KF1 t81zaGc3yABpIE+lAnninGJjdFKHshar+FBijc/a8NabP0xXKZ2S3TmPpmUoYGEetSY0Zs jwiif3zjrL6DMyduCxzCF4yFwXinAXdD8ATB38IIY23HgHqh40EAQh5+/bvY6lbbNU+cRE RP8NkvQkdfwaNp5UCs5f0COaBCpfDMxln/6B4cjKiYay2hM7JIZXjbnm7TROpwXEUPhaRo zMGwxIS7uPI1oo5Kzs+dxo+/iu3W05GMAwkQVQqnLJ/vkTwbi7SaHJEMb20vMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2w123PMVzm4h; Thu, 26 Jan 2023 22:12:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QMC6h5022235; Thu, 26 Jan 2023 22:12:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QMC62P022234; Thu, 26 Jan 2023 22:12:06 GMT (envelope-from git) Date: Thu, 26 Jan 2023 22:12:06 GMT Message-Id: <202301262212.30QMC62P022234@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1c44dd389459 - stable/13 - vmm: Destroy mutexes. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1c44dd389459e47baf80f2f3e7dd85df45f97cc9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1c44dd389459e47baf80f2f3e7dd85df45f97cc9 commit 1c44dd389459e47baf80f2f3e7dd85df45f97cc9 Author: John Baldwin AuthorDate: 2022-11-18 18:04:30 +0000 Commit: John Baldwin CommitDate: 2023-01-26 22:04:51 +0000 vmm: Destroy mutexes. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D37171 (cherry picked from commit 08ebb360764729632e1f6bc4e3f434abdd708204) --- sys/amd64/vmm/io/vatpic.c | 1 + sys/amd64/vmm/io/vatpit.c | 1 + sys/amd64/vmm/io/vhpet.c | 1 + sys/amd64/vmm/io/vioapic.c | 1 + sys/amd64/vmm/io/vlapic.c | 1 + sys/amd64/vmm/io/vrtc.c | 1 + sys/amd64/vmm/vmm.c | 4 ++++ sys/amd64/vmm/vmm_dev.c | 2 +- 8 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/amd64/vmm/io/vatpic.c b/sys/amd64/vmm/io/vatpic.c index 5ece5d433244..d959909d7cdc 100644 --- a/sys/amd64/vmm/io/vatpic.c +++ b/sys/amd64/vmm/io/vatpic.c @@ -809,6 +809,7 @@ vatpic_init(struct vm *vm) void vatpic_cleanup(struct vatpic *vatpic) { + mtx_destroy(&vatpic->mtx); free(vatpic, M_VATPIC); } diff --git a/sys/amd64/vmm/io/vatpit.c b/sys/amd64/vmm/io/vatpit.c index 7626b4dc4cc2..c58a6da66c1a 100644 --- a/sys/amd64/vmm/io/vatpit.c +++ b/sys/amd64/vmm/io/vatpit.c @@ -470,6 +470,7 @@ vatpit_cleanup(struct vatpit *vatpit) for (i = 0; i < 3; i++) callout_drain(&vatpit->channel[i].callout); + mtx_destroy(&vatpit->mtx); free(vatpit, M_VATPIT); } diff --git a/sys/amd64/vmm/io/vhpet.c b/sys/amd64/vmm/io/vhpet.c index dd409cde188f..7e73684ebad2 100644 --- a/sys/amd64/vmm/io/vhpet.c +++ b/sys/amd64/vmm/io/vhpet.c @@ -754,6 +754,7 @@ vhpet_cleanup(struct vhpet *vhpet) for (i = 0; i < VHPET_NUM_TIMERS; i++) callout_drain(&vhpet->timer[i].callout); + mtx_destroy(&vhpet->mtx); free(vhpet, M_VHPET); } diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c index e41b5acac920..00a206fa604d 100644 --- a/sys/amd64/vmm/io/vioapic.c +++ b/sys/amd64/vmm/io/vioapic.c @@ -508,6 +508,7 @@ void vioapic_cleanup(struct vioapic *vioapic) { + mtx_destroy(&vioapic->mtx); free(vioapic, M_VIOAPIC); } diff --git a/sys/amd64/vmm/io/vlapic.c b/sys/amd64/vmm/io/vlapic.c index 9c61726e77d7..1a8b54bba3bf 100644 --- a/sys/amd64/vmm/io/vlapic.c +++ b/sys/amd64/vmm/io/vlapic.c @@ -1641,6 +1641,7 @@ vlapic_cleanup(struct vlapic *vlapic) { callout_drain(&vlapic->callout); + mtx_destroy(&vlapic->timer_mtx); } uint64_t diff --git a/sys/amd64/vmm/io/vrtc.c b/sys/amd64/vmm/io/vrtc.c index d950bd68ad04..9cf70027f3d8 100644 --- a/sys/amd64/vmm/io/vrtc.c +++ b/sys/amd64/vmm/io/vrtc.c @@ -1018,6 +1018,7 @@ vrtc_cleanup(struct vrtc *vrtc) { callout_drain(&vrtc->callout); + mtx_destroy(&vrtc->mtx); free(vrtc, M_VRTC); } diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c index 825b3383b787..4659495ca5a2 100644 --- a/sys/amd64/vmm/vmm.c +++ b/sys/amd64/vmm/vmm.c @@ -128,6 +128,7 @@ struct vcpu { #define vcpu_lock_initialized(v) mtx_initialized(&((v)->mtx)) #define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) +#define vcpu_lock_destroy(v) mtx_destroy(&((v)->mtx)) #define vcpu_lock(v) mtx_lock_spin(&((v)->mtx)) #define vcpu_unlock(v) mtx_unlock_spin(&((v)->mtx)) #define vcpu_assert_locked(v) mtx_assert(&((v)->mtx), MA_OWNED) @@ -320,6 +321,7 @@ vcpu_cleanup(struct vm *vm, int i, bool destroy) if (destroy) { vmm_stat_free(vcpu->stats); fpu_save_area_free(vcpu->guestfpu); + vcpu_lock_destroy(vcpu); } } @@ -606,6 +608,8 @@ vm_cleanup(struct vm *vm, bool destroy) vmmops_vmspace_free(vm->vmspace); vm->vmspace = NULL; + + mtx_destroy(&vm->rendezvous_mtx); } } diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index a007a25aa9b5..249131b16464 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -103,6 +103,7 @@ static SLIST_HEAD(, vmmdev_softc) head; static unsigned pr_allow_flag; static struct mtx vmmdev_mtx; +MTX_SYSINIT(vmmdev_mtx, &vmmdev_mtx, "vmm device mutex", MTX_DEF); static MALLOC_DEFINE(M_VMMDEV, "vmmdev", "vmmdev"); @@ -1216,7 +1217,6 @@ SYSCTL_PROC(_hw_vmm, OID_AUTO, create, void vmmdev_init(void) { - mtx_init(&vmmdev_mtx, "vmm device mutex", NULL, MTX_DEF); pr_allow_flag = prison_add_allow(NULL, "vmm", NULL, "Allow use of vmm in a jail."); }