Messages in this thread | | | Date | Mon, 20 May 2013 15:57:16 +0200 | From | Oleg Nesterov <> | Subject | Re: [RFC PATCH] kmod: add ability to swap root in usermode helper |
| |
On 05/20, Stanislav Kinsbursky wrote: > > Usermode helper executes all binaries in global "init" root context. This > doesn't allow to call to call the binary from other root (for example in a > container). > Currently, containerized NFS server requires an ability to execute a binary in > a other context, than "init" root (UMH is used for client recovery tracking). > This patch adds root swap to ____call_usermodehelper(), if non-NULL root was > passed as a part of subprocess_info data,
Why do we need the new member/arguments?
> @@ -215,6 +216,9 @@ static int ____call_usermodehelper(void *data) > */ > set_user_nice(current, 0); > > + if (sub_info->root) > + set_fs_root(current->fs, sub_info->root);
Can't subprocess_info->init() do this? You can pass root as ->data.
IOW, unless I missed something, nfs can do this without any changes in kmod.c.
Oleg.
| |