lkml.org 
[lkml]   [2019]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[REVIEW][PATCH 05/26] signal/bpfilter: Fix bpfilter_kernl to use send_sig not force_sig
    The locking in force_sig_info is not prepared to deal with
    a task that exits or execs (as sighand may change). As force_sig
    is only built to handle synchronous exceptions.

    Further the function force_sig_info changes the signal state if the
    signal is ignored, or blocked or if SIGNAL_UNKILLABLE will prevent the
    delivery of the signal. The signal SIGKILL can not be ignored and can
    not be blocked and SIGNAL_UNKILLABLE won't prevent it from being
    delivered.

    So using force_sig rather than send_sig for SIGKILL is pointless.

    Because it won't impact the sending of the signal and and because
    using force_sig is wrong, replace force_sig with send_sig.

    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: David S. Miller <davem@davemloft.net>
    Fixes: d2ba09c17a06 ("net: add skeleton of bpfilter kernel module")
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    ---
    net/bpfilter/bpfilter_kern.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/net/bpfilter/bpfilter_kern.c b/net/bpfilter/bpfilter_kern.c
    index 7ee4fea93637..c0f0990f30b6 100644
    --- a/net/bpfilter/bpfilter_kern.c
    +++ b/net/bpfilter/bpfilter_kern.c
    @@ -22,7 +22,7 @@ static void shutdown_umh(void)

    tsk = get_pid_task(find_vpid(bpfilter_ops.info.pid), PIDTYPE_PID);
    if (tsk) {
    - force_sig(SIGKILL, tsk);
    + send_sig(SIGKILL, tsk, 1);
    put_task_struct(tsk);
    }
    }
    --
    2.21.0
    \
     
     \ /
      Last update: 2019-05-23 02:41    [W:6.323 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site