Messages in this thread Patch in this message | | | Subject | [PATCH 5/6] nfsd: disable usermode helper client tracker in container | From | Stanislav Kinsbursky <> | Date | Thu, 06 Dec 2012 18:35:02 +0300 |
| |
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> --- 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 ba6fdd4..e0ae1cf 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); }
| |