[PATCH] Make core_pattern support namespace
Eric W. Biederman
ebiederm at xmission.com
Thu Feb 18 20:18:03 UTC 2016
Zhao Lei <zhaolei at cn.fujitsu.com> writes:
> Hi, Mateusz Guzik
>> -----Original Message-----
>> From: Mateusz Guzik [mailto:mguzik at redhat.com]
>> Sent: Thursday, February 18, 2016 4:54 AM
>> To: Eric W. Biederman <ebiederm at xmission.com>
>> Cc: Zhao Lei <zhaolei at cn.fujitsu.com>; containers at lists.linux-foundation.org;
>> linux-kernel at vger.kernel.org
>> Subject: Re: [PATCH] Make core_pattern support namespace
>> On Wed, Feb 17, 2016 at 02:15:24PM -0600, Eric W. Biederman wrote:
>> > Mateusz Guzik <mguzik at redhat.com> writes:
>> > > On Tue, Feb 16, 2016 at 07:33:39PM +0800, Zhao Lei wrote:
>> > >> For container based on namespace design, it is good to allow
>> > >> each container keeping their own coredump setting.
>> > >
>> > > Sorry if this is a false alarm, I don't have easy means to test it, but
>> > > is not this an immediate privilege escalation?
>> > It is. This is why we do not currently have a per namespace setting.
>> Thanks for confimation.
>> > Solving the user mode helper problem is technically a fair amount of
>> > work, if not theoretically challenging.
>> Well, I would say custom core_patterns without pipe support are still
>> better than none.
The problem is solvable. It is just a matter of effort to build the
necessary infrastructure and make certain everything works correctly.
>> Say one would ensure a stable core_pattern (i.e. that it cannot be
>> modified as it is being parsed) and a restricted set of allowed
>> characters in the pattern (which would not include the pipe), validated
>> when one attempts to set the pattern.
>> Does this sound acceptable? If so, and there are no counter ideas from
>> Lei, I can get around to that.
> If we can let kernel select pipe_program in vm's filesystem, and run
> pipe_program with vm's filesystem, set a pipe for core_patterm in vm
> will be safe.
> What is your opinion on above solution?
Please see the other thread about user mode helpers that is current
active on the container mailling list.
> If above way is not acceptable, or impossible to realize, I also
> agree your solution of limit vm setting pipe.
I honestly think have a fully capable system that we have now that is
capable of using setns and entering a containers context is better than
something half baked. The solution either needs to support everything
core_pattern does today but correctly in a container environment.
To make the case that something does not need to be supported, a
convincing argument needs to be presented and tested that no one ever
does that. Without such an argument you will be breaking userspace
in a different way. Not actually fixing things.
My baseline reference implementation of all of this is that it is
possible when a sufficiently privileged process writes to core_pattern
to fork a child with the same environment and context as the writer.
That forked child could then become a kernel thread and fork any
additional children needed as user mode helpers.
More information about the Containers