From b571b7122e974c3970cd7abbd2721b6395e4b53a Mon Sep 17 00:00:00 2001 From: jamie Date: Wed, 15 Aug 2018 22:32:55 +0000 Subject: [PATCH] Load filesystem modules associated with allow.mount permissions. PR: 192092 git-svn-id: svn://svn.freebsd.org/base/stable/10@337880 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- lib/libjail/jail.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c index c942328ed..698b28586 100644 --- a/lib/libjail/jail.c +++ b/lib/libjail/jail.c @@ -513,7 +513,18 @@ jailparam_set(struct jailparam *jp, unsigned njp, int flags) } jiov[i - 1].iov_base = nname; jiov[i - 1].iov_len = strlen(nname) + 1; - + } + /* + * Load filesystem modules associated with allow.mount + * permissions. Ignore failure, since the module may + * be static, and even a failure to load is not a jail + * error. + */ + if (strncmp(jp[j].jp_name, "allow.mount.", 12) == 0) { + if (kldload(jp[j].jp_name + 12) < 0 && + errno == ENOENT && + strncmp(jp[j].jp_name + 12, "no", 2) == 0) + (void)kldload(jp[j].jp_name + 14); } } else { /* -- 2.42.0