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);
|
kl = kldload(name);
|
||||||
else if (strncmp(name, "allow.mount.", 12) == 0) {
|
else if (strncmp(name, "allow.mount.", 12) == 0) {
|
||||||
/* Load the matching filesystem */
|
/* 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 &&
|
if (kl < 0 && errno == ENOENT &&
|
||||||
strncmp(name + 12, "no", 2) == 0)
|
strncmp(modname, "no", 2) == 0)
|
||||||
kl = kldload(name + 14);
|
kl = kldload(modname + 2);
|
||||||
} else {
|
} else {
|
||||||
errno = ENOENT;
|
errno = ENOENT;
|
||||||
return (-1);
|
return (-1);
|
||||||
|
Loading…
Reference in New Issue
Block a user