Download raw body.
mount: support DUIDs with -u
mount -u does not allow file systems to be specified by DUID:
$ doas mount b987ffca8611b59f.a /mnt
$ doas mount -ur b987ffca8611b59f.a
mount: unknown special file or file system b987ffca8611b59f.a.
This diff fixes that. The isduid() check is not strictly necessary, but
perhaps skipping realpath() for DUIDs is a safe thing to do?
OK?
Index: mount.c
===================================================================
RCS file: /cvs/src/sbin/mount/mount.c,v
diff -p -u -r1.78 mount.c
--- mount.c 9 May 2024 08:35:40 -0000 1.78
+++ mount.c 24 Jun 2026 18:31:29 -0000
@@ -233,7 +233,7 @@ main(int argc, char * const argv[])
if (typelist != NULL)
usage();
- if (realpath(*argv, mntpath) == NULL)
+ if (isduid(*argv, 0) || realpath(*argv, mntpath) == NULL)
strlcpy(mntpath, *argv, sizeof(mntpath));
if (hasopt(options, "update")) {
if ((mntbuf = getmntpt(mntpath)) == NULL)
@@ -630,6 +630,7 @@ getmntpt(const char *name)
mntsize = getmntinfo(&mntbuf, MNT_NOWAIT);
for (i = 0; i < mntsize; i++)
if (strcmp(mntbuf[i].f_mntfromname, name) == 0 ||
+ strcmp(mntbuf[i].f_mntfromspec, name) == 0 ||
strcmp(mntbuf[i].f_mntonname, name) == 0)
return (&mntbuf[i]);
return (NULL);
mount: support DUIDs with -u