diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2013-02-01 15:56:22 +0300 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2013-02-15 11:21:01 -0500 |
commit | 71a50306934f416e74ba27cbfb88855c22251525 (patch) | |
tree | 000d60ccbb372d865fb1df5af2bc05cc8d8e4c79 /fs/nfsd | |
parent | 96d851c4d28de8cc83fe2bd5c6bc2eb8f253a6c5 (diff) |
nfsd: disable usermode helper client tracker in container
This tracker uses khelper kthread to execute binaries.
Execution itself is done from kthread context - i.e. global root is used.
This is not suitable for containers with own root.
So, disable this tracker for a while.
Note: one of possible solutions can be pass "init" callback to khelper, which
will swap root to desired one.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfs4recover.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index ba6fdd4a0455..e0ae1cf18a82 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -1185,6 +1185,12 @@ bin_to_hex_dup(const unsigned char *src, int srclen) static int nfsd4_umh_cltrack_init(struct net __attribute__((unused)) *net) { + /* XXX: The usermode helper s not working in container yet. */ + if (net != &init_net) { + WARN(1, KERN_ERR "NFSD: attempt to initialize umh client " + "tracking in a container!\n"); + return -EINVAL; + } return nfsd4_umh_cltrack_upcall("init", NULL, NULL); } |