[PATCH] Forbid invocation of kexec_load() outside initial PID namespace
serge at hallyn.com
Sat Aug 4 23:15:35 UTC 2012
during the container reboot discussion, the agreement was reached that rebooting for real fron non-init pid ns is not safe. Restarting userspace (in pidns caller owns) is. I argue the same reasoning supports this.
I haven't had a chance to review the patch, but the idea gets my ack. I'll look at the patch asap.
I'm also fine with splitting cap_sys_boot into a user and system caps. The former would only be needed targeted to the userns of the init pid, while the latter would be required to init_user_ns. Then containers could safely be given cap_sys_restart or whatever, but not cap_sys_boot which authorizes kexec and machine reset/poweroff.
----- Original message -----
> "Daniel P. Berrange" <berrange at redhat.com> wrote:
> > On Fri, Aug 03, 2012 at 05:45:40AM -0700, Eric W. Biederman wrote:
> > > The solution is to use user namespaces and to only test ns_capable on
> > the magic reboot path.
> > >
> > > For the 3.7 timeframe that should be a realistic solution.
> > Hmm, that would imply that if LXC wants to allow reboot()/CAP_SYS_BOOT
> > they will be forced to use CLONE_NEWUSER. I was rather looking for a
> > way
> > to allow the container to keep CAP_SYS_BOOT, without also mandating use
> > of user namespaces.
> If we remove the use of CAP_SYS_BOOT on the container reboot path
> But you have hit one small issue in the huge pile of issues why giving
> contaners capabilities is generally a bad idea.
> This is the reason I have been insisting on a reasonable version of user
> namespaces for a long time.
> When the security issues become important it is time for user
> namespaces. That is their purpose.
> To unsubscribe from this list: send the line "unsubscribe linux-kernel"
> in the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
More information about the Containers