From nobody Sun Jan 29 23:14:54 2023
X-Original-To: dev-commits-src-main@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 4P4nG6746Vz3bGyj;
	Sun, 29 Jan 2023 23:14:54 +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 4P4nG66Ts5z40Bn;
	Sun, 29 Jan 2023 23:14:54 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1675034094;
	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=cG6lfhf0WW+pFsGkMHdQAyEsg8Y7lxCCNCcpTc0YTSM=;
	b=JdYPlgJJmJAho7b6lfMkK0hptZBIgXcAU4EiAL392/vEZ/bX5V5s/DbGOp5o/tOSIQdZtU
	7wd4o7sfP8dqrWAeKFhPFNeZLinkezmnaJZ6xIT8mnYHTXQ/C0VLqxFSEZ2HJEt6tuUctm
	JDZFW1c0buh6jtUT4RrxUc9GW21rPGGKMj8C+NzgWM0HtEYfLunEnxNnndAvsnU0SMi+Ya
	ikpWpDW7sSXQaysDEQK0dHRzDtkVb0hrxnlEX1oalPRIjNJs8Yz0joXaiS/uYPdLoWa6pM
	jssRlwroAB9uIefbnwII2C+BxZCNq1BaN5uxtrAUoQKNnH7i4IU8zL/pp7ifNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1675034094;
	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=cG6lfhf0WW+pFsGkMHdQAyEsg8Y7lxCCNCcpTc0YTSM=;
	b=rn+slpYd2BkAAIZLj5SbV11hUUq1noRicNlnEJKVBKCVKvwmBxTtiKJmdYQ+RqNLjFiTks
	DpCNSnlDD/vZ4sv4jY/36vbl7ga6NMi0b2Ovsz8sWUHkIfbWFyKkDjYMhKOe6bhpQ+QOmJ
	gTzBgFcTnoyZJ/0PgUueep36SND/WwCe1EzD8RCVHTEjv8XSvcL5J8DL9fSPkfclwkOVYw
	jx9HnAqUnYKahCqnmnzaZkkupbE/RdDDrk2Wn0T7lBzchYd972blbeBEdLgL4Esyx5q8r+
	4gplN6zsWfLJ+Uc4JmZ3OMBbZURdikxsU+M9j9geG47ee7L/6jbp2YVb1DJ3Hw==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675034094; a=rsa-sha256; cv=none;
	b=sm7/W2xd8RS49/3Ddv2Pe7GBqRXjaaEhZ9docmijRae4/oSctoldh8JAuA0NMrFb7WPB1I
	cePJIreaxjglleU4ukSwCHzU7HCi+487LFAkzrbYy66Qg48xS4RJgS9ZE1DPseCAkC248H
	hyScXSvP/rXUcgYPST1y8Dktz2oyKqCPAcj4b77JdEs2CfUduoFRcd25nvYLZy/QuLFBtu
	eV2OkgCbvMVZ8I0uBnVkWQil45FurfvUfi/ijM93l0Aoa93xcVt7z1H6/lLXNMxL2GmoC2
	dGod8dUD2TsNwHmRDN2kzOkK0kUttVskKOOjbZcnATjkKL5S+cYmkhRh2T4T9w==
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 4P4nG65WmHzlwj;
	Sun, 29 Jan 2023 23:14:54 +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 30TNEs0d064283;
	Sun, 29 Jan 2023 23:14:54 GMT
	(envelope-from git@gitrepo.freebsd.org)
Received: (from git@localhost)
	by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30TNEsNY064282;
	Sun, 29 Jan 2023 23:14:54 GMT
	(envelope-from git)
Date: Sun, 29 Jan 2023 23:14:54 GMT
Message-Id: <202301292314.30TNEsNY064282@gitrepo.freebsd.org>
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org,
        dev-commits-src-main@FreeBSD.org
From: Kirk McKusick <mckusick@FreeBSD.org>
Subject: git: ad055467bec3 - main - Fix for getmntpoint(3) when checking for NFS mount points.
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
Sender: owner-dev-commits-src-main@freebsd.org
X-BeenThere: dev-commits-src-main@freebsd.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: mckusick
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: ad055467bec35885dc3eff2f4dd765f5b2f53259
Auto-Submitted: auto-generated
X-ThisMailContainsUnwantedMimeParts: N

The branch main has been updated by mckusick:

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

commit ad055467bec35885dc3eff2f4dd765f5b2f53259
Author:     Kirk McKusick <mckusick@FreeBSD.org>
AuthorDate: 2023-01-29 23:12:48 +0000
Commit:     Kirk McKusick <mckusick@FreeBSD.org>
CommitDate: 2023-01-29 23:14:43 +0000

    Fix for getmntpoint(3) when checking for NFS mount points.
    
    Only attempt to add /dev/ to f_mntfromname names that result in a
    valid character device.
    
    MFC after:    1 week
    Reported by:  Bjoern A. Zeeb
    Sponsored by: The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D37907
---
 sbin/mount/getmntopts.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/sbin/mount/getmntopts.c b/sbin/mount/getmntopts.c
index 7702da903749..3a5cac0d9bac 100644
--- a/sbin/mount/getmntopts.c
+++ b/sbin/mount/getmntopts.c
@@ -177,6 +177,11 @@ getmntpoint(const char *name)
 	mntsize = getmntinfo(&mntbuf, MNT_NOWAIT);
 	for (i = 0; i < mntsize; i++) {
 		statfsp = &mntbuf[i];
+		if (isdev == 0) {
+			if (strcmp(name, statfsp->f_mntonname))
+				continue;
+			return (statfsp);
+		}
 		ddevname = statfsp->f_mntfromname;
 		if (*ddevname != '/') {
 			if ((len = strlen(_PATH_DEV) + strlen(ddevname) + 1) >
@@ -185,12 +190,8 @@ getmntpoint(const char *name)
 				continue;
 			strncpy(device, _PATH_DEV, len);
 			strncat(device, ddevname, len);
-			strncpy(statfsp->f_mntfromname, device, len);
-		}
-		if (isdev == 0) {
-			if (strcmp(name, statfsp->f_mntonname))
-				continue;
-			return (statfsp);
+			if (stat(device, &mntdevstat) == 0)
+				strncpy(statfsp->f_mntfromname, device, len);
 		}
 		if (stat(ddevname, &mntdevstat) == 0 &&
 		    mntdevstat.st_rdev == devstat.st_rdev)