Commit 71a50306 authored by Stanislav Kinsbursky's avatar Stanislav Kinsbursky Committed by J. Bruce Fields
Browse files

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: default avatarStanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 96d851c4
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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);
}