libjail: fix handling of allow.mount.fusefs in jailparam_init
fusefs is inconsistently named. The kernel module is named "fuse", but the mount helper is named "mount_fusefs" and the jail(8) parameter is named "allow.mount.fusefs". Special case it in libjail. Reviewed by: jamie MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D17929
This commit is contained in:
parent
86af1d0241
commit
98f8234b13
@ -1050,10 +1050,18 @@ kldload_param(const char *name)
|
||||
kl = kldload(name);
|
||||
else if (strncmp(name, "allow.mount.", 12) == 0) {
|
||||
/* Load the matching filesystem */
|
||||
kl = kldload(name + 12);
|
||||
const char *modname;
|
||||
|
||||
if (strcmp("fusefs", name + 12) == 0 ||
|
||||
strcmp("nofusefs", name + 12) == 0) {
|
||||
modname = "fuse";
|
||||
} else {
|
||||
modname = name + 12;
|
||||
}
|
||||
kl = kldload(modname);
|
||||
if (kl < 0 && errno == ENOENT &&
|
||||
strncmp(name + 12, "no", 2) == 0)
|
||||
kl = kldload(name + 14);
|
||||
strncmp(modname, "no", 2) == 0)
|
||||
kl = kldload(modname + 2);
|
||||
} else {
|
||||
errno = ENOENT;
|
||||
return (-1);
|
||||
|
Loading…
Reference in New Issue
Block a user