Remove the check that prevents creating "loops" from mount_nullfs(8).

Reviewed by:	kib
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26921
This commit is contained in:
Edward Tomasz Napierala 2020-10-25 14:09:00 +00:00
parent ba196aec7d
commit 5a13da9b0b

View File

@ -59,7 +59,6 @@ static const char rcsid[] =
#include "mntopts.h" #include "mntopts.h"
int subdir(const char *, const char *);
static void usage(void) __dead2; static void usage(void) __dead2;
int int
@ -104,10 +103,6 @@ main(int argc, char *argv[])
if (checkpath(argv[1], source) != 0) if (checkpath(argv[1], source) != 0)
err(EX_USAGE, "%s", source); err(EX_USAGE, "%s", source);
if (subdir(target, source) || subdir(source, target))
errx(EX_USAGE, "%s (%s) and %s are not distinct paths",
argv[0], target, argv[1]);
build_iovec(&iov, &iovlen, "fstype", nullfs, (size_t)-1); build_iovec(&iov, &iovlen, "fstype", nullfs, (size_t)-1);
build_iovec(&iov, &iovlen, "fspath", source, (size_t)-1); build_iovec(&iov, &iovlen, "fspath", source, (size_t)-1);
build_iovec(&iov, &iovlen, "target", target, (size_t)-1); build_iovec(&iov, &iovlen, "target", target, (size_t)-1);
@ -121,21 +116,6 @@ main(int argc, char *argv[])
exit(0); exit(0);
} }
int
subdir(const char *p, const char *dir)
{
int l;
l = strlen(dir);
if (l <= 1)
return (1);
if ((strncmp(p, dir, l) == 0) && (p[l] == '/' || p[l] == '\0'))
return (1);
return (0);
}
static void static void
usage(void) usage(void)
{ {