From: ebiederm@xmission.com (Eric W. Biederman)
To: Ian Kent <raven@themaw.net>
Cc: Kernel Mailing List <linux-kernel@vger.kernel.org>,
David Howells <dhowells@redhat.com>,
Oleg Nesterov <onestero@redhat.com>,
Trond Myklebust <trond.myklebust@primarydata.com>,
"J. Bruce Fields" <bfields@fieldses.org>,
Benjamin Coddington <bcodding@redhat.com>,
Al Viro <viro@ZenIV.linux.org.uk>,
Jeff Layton <jeff.layton@primarydata.com>
Subject: Re: [RFC PATCH v4 00/12] Second attempt at contained helper execution
Date: Thu, 19 Mar 2015 16:38:51 -0500 [thread overview]
Message-ID: <874mpghdlg.fsf@x220.int.ebiederm.org> (raw)
In-Reply-To: <20150317022308.24592.35785.stgit@pluto.fritz.box> (Ian Kent's message of "Tue, 17 Mar 2015 10:44:49 +0800")
Ian Kent <raven@themaw.net> writes:
> Here is another update to the attempt at contained helper execution.
>
> The main change is I've tried to incorporate Oleg's suggestions
> of directly constructing the namespaces rather than using the
> open/setns approach and the addition of a namespace hash store.
>
> I'm not particularly happy with this so far as there are a bunch
> of ref counted objects and I've almost certainly got that wrong.
> But also there are object lifetime problems, some I'm aware of
> and for sure others I'm not. Also there is the integrity of the
> thread runner process. I haven't performed a double fork on thread
> execution, it might be painful to implement, so the thread runner
> might end up with the wrong namespace setup if an error occurs.
>
> Anyway, I've decided to stop spinning my wheels with this and
> post an update in the hope that others can offer suggestions to
> help and, of course, point out things I've missed.
>
> The other change has been to the nfs and KEYS patches.
> I've introduced the ability to get a token that can be used to
> save namespace information for later execution and I've attempted
> to use that for persistent namespace execution, as was discussed
> previously.
>
> I'm not at all sure I've done this in a sensible way but the
> token does need to be accessible at helper execution time which
> is why I've done it this way.
>
> I definitely need advice here too.
As far as I can tell this patchset continues to be broken for ignoring
my earlier advice.
This patchset provides an escape from cgroup, lsm, rlimit, and
seccomp policy.
This patchset does not appear particularly nice in how it uses
namespaces.
The only safe and sane way to do this is to have a kernel thread with
all of the proper attributes configured waiting around ready to start
the user mode helper.
The problem you are trying to solve is so hard that we totally failed to
solve it outside of the container case. Which is why we have kthreadd.
I will be very surprised if you can figure out how to cleanly solve the
problem the way you are attacking it.
Eric
next prev parent reply other threads:[~2015-03-19 21:42 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-17 2:44 Ian Kent
2015-03-17 2:44 ` [RFC PATCH v4 01/12] nsproxy - make create_new_namespaces() non-static Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 02/12] kmod - rename call_usermodehelper() flags parameter Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 03/12] vfs - move mnt_namespace definition to linux/mount.h Ian Kent
2015-03-19 19:47 ` Al Viro
2015-03-20 0:57 ` Ian Kent
2015-03-20 1:14 ` Eric W. Biederman
2015-03-20 2:11 ` Ian Kent
2015-03-20 2:47 ` Al Viro
2015-03-17 2:45 ` [RFC PATCH v4 04/12] kmod - add namespace aware thread runner Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 05/12] kmod - teach call_usermodehelper() to use a namespace Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 06/12] kmod - add namespace info store Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 07/12] kmod - add call_usermodehelper_ns() Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 08/12] nfsd - use namespace if not executing in init namespace Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 09/12] nfs - cache_lib " Ian Kent
2015-03-17 2:45 ` [RFC PATCH v4 10/12] nfs - objlayout " Ian Kent
2015-03-17 2:46 ` [RFC PATCH v4 11/12] KEYS - use correct memory allocation flag in call_usermodehelper_keys() Ian Kent
2015-03-17 2:46 ` [RFC PATCH v4 12/12] KEYS: exec request-key within the requesting task's init namespace Ian Kent
2015-03-18 17:41 ` [RFC PATCH v4 00/12] Second attempt at contained helper execution J. Bruce Fields
2015-03-19 21:38 ` Eric W. Biederman [this message]
2015-03-20 2:10 ` Ian Kent
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874mpghdlg.fsf@x220.int.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=bcodding@redhat.com \
--cc=bfields@fieldses.org \
--cc=dhowells@redhat.com \
--cc=jeff.layton@primarydata.com \
--cc=linux-kernel@vger.kernel.org \
--cc=onestero@redhat.com \
--cc=raven@themaw.net \
--cc=trond.myklebust@primarydata.com \
--cc=viro@ZenIV.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome