From nobody Sun May 07 23:52:04 2023 X-Original-To: dev-commits-src-all@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 4QF1Rn1YCRz49k3n; Sun, 7 May 2023 23:52:05 +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 4QF1Rn08sXz3vX8; Sun, 7 May 2023 23:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1683503525; 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=+2RJ8EIv+sITCEHtj6emD//rHs53IrwOTed0cYdFzvA=; b=A7SwCKGl4DZXoijlV3m1wmVPOLi+v1tFwLlQQC11o4Va3yed4WMAg6UuIBv0Ai+7fVtgr5 JDpNGoA+qfrX1hGlAQrORE0Yi/GgH2oM8Mfr3swAYCG9GCF30XBHnKAZNl4UWf13DYSygQ 1HyrYoFoomFYERA0mbNwroke9oXzFJsnGS+umqyHoLK4mkraQCCAW2jOeQ5EtpISZqwazt EFmvyh2hGrWxjcFnb+QxJQBiQYa2Sohn/WrZSYkADbZX6LNOZXcpqn5QnTfDY6PM4vAprW HexPE1Pc9Uv5l0fsMLXwlLT0c75ebQpc0WFo9H1A1i/AzcwbtNLIc29btrWvVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1683503525; 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=+2RJ8EIv+sITCEHtj6emD//rHs53IrwOTed0cYdFzvA=; b=utwd5G6Se5M6IntL8ueXvA7E60rD4LpTduhP+HeQrqMtSq3yLhrxwLURrfxW2lPBCrVBYz DQ06hoXtnri4jPD1msf9ZjMIpproDBBMHFxso8J+96LKq7XyBPVlbE1YNubn6+JHVAjIQh 6H6RZ05rDsLhp3ClvcVxe7//MMepE94F7xS9dNZc+4qJrh1ZhFhviUH7+ySMf//m+COCL/ vbEYMnmBKVnItyM6T8A4/vnfSWm/UnQ4UH1UK3gPj3Jg/Pnbz9P3xjw2DEYSh59keFbdYN aZULxKP9IDa5066eIYT4NEVbd62MSV0dR/kPRDbjD8Qp5qpMRk06F/jxGs7cJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1683503525; a=rsa-sha256; cv=none; b=KETO0u4Qlok33/c5i31bGd6xejrur8fLgO3hE9WFIvWgmupfN9QBIiJ5tvu2ss1NzWrqCW Y+aT4/ihmttQwp6IQ8badcm1D/FlLty+4/JUMU2XJP5qbASmhVbemYkjNiVgDl2gL5RfAC 97Z1fs0SI6XX8+p9a6BKTwQBmKXIg3RB081bwIfVDsVerxR7oLLwyUux1MpR0HgZjxYB4B PQ1UXGIQoLPSK2sA3v5eSRHFzrbE9vNWoPB2ex7ycUfPCRlROtzSMR2XNeYFZTpSK4rxlI W9un3UrMk66Qcn+of00m1VpFC+mrq8r0S0qfF3uFjIbNfH5XN+92fHVY6RvGLA== 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 4QF1Rm6NKGzdxT; Sun, 7 May 2023 23:52:04 +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 347Nq4B0005549; Sun, 7 May 2023 23:52:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 347Nq4YJ005533; Sun, 7 May 2023 23:52:04 GMT (envelope-from git) Date: Sun, 7 May 2023 23:52:04 GMT Message-Id: <202305072352.347Nq4YJ005533@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Jason A. Harmening" Subject: git: 356e698011b2 - main - unionfs(): destroy root vnode if upper registration fails List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jah X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 356e698011b20ccba9c0a3f211e2a7761490875c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=356e698011b20ccba9c0a3f211e2a7761490875c commit 356e698011b20ccba9c0a3f211e2a7761490875c Author: Jason A. Harmening AuthorDate: 2023-03-26 01:50:55 +0000 Commit: Jason A. Harmening CommitDate: 2023-05-07 23:30:43 +0000 unionfs(): destroy root vnode if upper registration fails If unionfs_domount() fails, the mount path will not call VFS_UNMOUNT() to clean up after it. If this failure happens during upper vnode registration, the unionfs root vnode will already be allocated. vflush() it in order to prevent the vnode from being leaked and the subsequent vfs_mount_destroy() call from getting stuck waiting for the mountpoint reference count to drain. Reviewed by: kib, markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D39767 --- sys/fs/unionfs/union_vfsops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c index cd6c7bd90655..9ef239aaad1d 100644 --- a/sys/fs/unionfs/union_vfsops.c +++ b/sys/fs/unionfs/union_vfsops.c @@ -318,6 +318,7 @@ unionfs_domount(struct mount *mp) vfs_unregister_upper(lowermp, &ump->um_lower_link); if (uppermp != NULL) vfs_unregister_upper(uppermp, &ump->um_upper_link); + vflush(mp, 1, FORCECLOSE, curthread); free(ump, M_UNIONFSMNT); mp->mnt_data = NULL; return (ENOENT);