[PATCH 2/2] Notify container-init parent a 'reboot' occured
daniel.lezcano at free.fr
Fri Aug 12 13:42:55 PDT 2011
On 08/12/2011 06:29 PM, Serge Hallyn wrote:
> Quoting Daniel Lezcano (daniel.lezcano at free.fr):
>>> Doesn't this mean that an unprivileged task in a container can shut
>>> down the container?
>> Ha ha ! Right, good catch :)
>> Yes, rethinking about it, we can do what initially proposed Bruno by
>> just preventing to reboot when we are not in the init_pid_ns. Actually,
>> the sys_reboot occurs after the services shutdown and "kill -1 SIGTERM"
>> and "kill -1 SIGKILL", and would not make sense to do that in a child
>> pid namespace, except if we are in a container where we don't want to
>> reboot :)
>> So IMO, it is safe to do:
>> if (!ns_capable(current_pid_ns()->user_ns, CAP_SYS_BOOT))
>> return -EPERM;
>> if (pid_ns != &init_pid_ns)
>> return pid_namespace_reboot(pid_ns, cmd, buffer);
> So I don't know if you want to prepend
> to your patchset, or just check nsown_capable(CAP_SYS_BOOT) for now,
> but as soon as you resend with that I'll happily, nay,
> ecstatically ack.
Ok, in order to not mix the functionnalities, I will send in a separate
patch the nsown_capable change.
More information about the Containers