public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/5] Second attempt at contained helper execution
@ 2015-01-14  9:32 Ian Kent
  2015-01-14  9:32 ` [RFC PATCH 1/5] nsproxy - refactor setns() Ian Kent
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: Ian Kent @ 2015-01-14  9:32 UTC (permalink / raw)
  To: Kernel Mailing List
  Cc: David Howells, Oleg Nesterov, Trond Myklebust, J. Bruce Fields,
	Benjamin Coddington, Al Viro, Jeff Layton, Eric W. Biederman

This series is a further attempt to find how (or even an acceptable
way) to execute a usermode helper in a contained environment.

Being an attempt to find how to do this no testing has been done and
won't be until a suitable approach can be agreed on, if at all.

>From previous discussion seperation between the caller and the
execution environment is required for security reasons.

It was suggested that a thread be created for each mount and be used
as the basis for the execution environment. There are a number of
problems with this, not the least of which is scaling to a large
numbers of mounts, and there may not be a mount corresponding the the
needed callback which amounts to creating the process from the context
of the caller which we don't want to do.

But now, when a usermode helper is executed the root init namespace is
used and has proven to be adequate. So perhaps it will also be adequate
to use the same approach for contained execution by using the container
init namespace as the basis for the execution.

That's essentially all this series attempts to do.

There are other difficulties to tackle as well, such as how to decide
if contained helper execution is needed. For example, if a mount has
been propagated to a container or bound into the container tree (such
as with the --volume option of "docker run") the root init namespace
may need to be used and not the container namespace.

There's also the rather resource heavy method that is used here to
enter the target namespace which probably needs work but is out of
scope for this series if in fact this approach is even acceptable.

Comments please?

---

Ian Kent (5):
      nsproxy - refactor setns()
      kmod - rename call_usermodehelper() flags parameter
      kmod - teach call_usermodehelper() to use a namespace
      KEYS - rename call_usermodehelper_keys() flags parameter
      KEYS: exec request-key within the requesting task's init namespace


 include/linux/kmod.h        |   21 ++++++-
 include/linux/nsproxy.h     |    1 
 kernel/kmod.c               |  135 +++++++++++++++++++++++++++++++++++++++----
 kernel/nsproxy.c            |   21 ++++---
 security/keys/request_key.c |   51 ++++++++++++++--
 5 files changed, 201 insertions(+), 28 deletions(-)

--
Ian

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-02-18 20:45 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-14  9:32 [RFC PATCH 0/5] Second attempt at contained helper execution Ian Kent
2015-01-14  9:32 ` [RFC PATCH 1/5] nsproxy - refactor setns() Ian Kent
2015-01-14  9:32 ` [RFC PATCH 2/5] kmod - rename call_usermodehelper() flags parameter Ian Kent
2015-01-14  9:32 ` [RFC PATCH 3/5] kmod - teach call_usermodehelper() to use a namespace Ian Kent
2015-01-15 16:45   ` Jeff Layton
2015-01-16  1:18     ` Ian Kent
2015-01-14  9:32 ` [RFC PATCH 4/5] KEYS - rename call_usermodehelper_keys() flags parameter Ian Kent
2015-01-14  9:32 ` [RFC PATCH 5/5] KEYS: exec request-key within the requesting task's init namespace Ian Kent
2015-01-14 21:55 ` [RFC PATCH 0/5] Second attempt at contained helper execution J. Bruce Fields
2015-01-14 22:10   ` J. Bruce Fields
2015-01-15  0:26     ` Ian Kent
2015-01-15 16:27       ` J. Bruce Fields
2015-01-16  1:01         ` Ian Kent
2015-01-16 15:25           ` J. Bruce Fields
2015-01-21  7:05             ` Ian Kent
2015-01-21 14:38               ` J. Bruce Fields
2015-01-22  1:28                 ` Ian Kent
2015-02-18 20:44                   ` J. Bruce Fields

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox