lkml.org 
[lkml]   [2012]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] pidns: reboot_pid_ns: use SEND_SIG_FORCED instead of force_sig()
    Quoting Oleg Nesterov (oleg@redhat.com):
    > cf3f8921 "pidns: add reboot_pid_ns() to handle the reboot syscall"
    > uses force_sig() to kill the SIGNAL_UNKILLABLE cinit, this was the
    > only choice.
    >
    > After 629d362b we can use SEND_SIG_FORCED instead, force_sig() has
    > the special semantics and should be avoided if possible.
    >
    > Signed-off-by: Oleg Nesterov <oleg@redhat.com>

    Hi Oleg,

    I like the patch in theory, however after applying it containers are
    no longer able to shutdown/reboot. I can externally kill them with
    lxc-stop, but internal shutdown fails.

    > diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
    > index 57bc1fd..ef35e20 100644
    > --- a/kernel/pid_namespace.c
    > +++ b/kernel/pid_namespace.c
    > @@ -241,7 +241,7 @@ int reboot_pid_ns(struct pid_namespace *pid_ns, int cmd)
    > }
    >
    > read_lock(&tasklist_lock);
    > - force_sig(SIGKILL, pid_ns->child_reaper);
    > + do_send_sig_info(SIGKILL, SEND_SIG_FORCED, pid_ns->child_reaper, true);
    > read_unlock(&tasklist_lock);
    >
    > do_exit(0);
    >


    \
     
     \ /
      Last update: 2012-04-13 20:23    [W:0.022 / U:0.980 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site