lkml.org 
[lkml]   [2012]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 34/40] um: Don't restore current->blocked on error
    Date
    From: Matt Fleming <matt.fleming@intel.com>

    If we fail to setup the signal stack frame then we don't need to
    restore current->blocked because it is not modified by
    setup_signal_stack_*.

    Acked-by: Oleg Nesterov <oleg@redhat.com>
    Acked-by: Richard Weinberger <richard@nod.at>
    Tested-by: Richard Weinberger <richard@nod.at>
    Cc: user-mode-linux-devel@lists.sourceforge.net
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    ---
    arch/um/kernel/signal.c | 8 ++------
    1 files changed, 2 insertions(+), 6 deletions(-)

    diff --git a/arch/um/kernel/signal.c b/arch/um/kernel/signal.c
    index e8b889d..8382e0b 100644
    --- a/arch/um/kernel/signal.c
    +++ b/arch/um/kernel/signal.c
    @@ -65,13 +65,9 @@ static int handle_signal(struct pt_regs *regs, unsigned long signr,
    #endif
    err = setup_signal_stack_si(sp, signr, ka, regs, info, oldset);

    - if (err) {
    - spin_lock_irq(&current->sighand->siglock);
    - current->blocked = *oldset;
    - recalc_sigpending();
    - spin_unlock_irq(&current->sighand->siglock);
    + if (err)
    force_sigsegv(signr, current);
    - } else {
    + else {
    spin_lock_irq(&current->sighand->siglock);
    sigorsets(&current->blocked, &current->blocked,
    &ka->sa.sa_mask);
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2012-02-14 12:49    [W:0.023 / U:0.056 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site