lkml.org 
[lkml]   [2013]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 09/33] tick: Cleanup NOHZ per cpu data on cpu down
    Date
    3.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Thomas Gleixner <tglx@linutronix.de>

    commit 4b0c0f294f60abcdd20994a8341a95c8ac5eeb96 upstream.

    Prarit reported a crash on CPU offline/online. The reason is that on
    CPU down the NOHZ related per cpu data of the dead cpu is not cleaned
    up. If at cpu online an interrupt happens before the per cpu tick
    device is registered the irq_enter() check potentially sees stale data
    and dereferences a NULL pointer.

    Cleanup the data after the cpu is dead.

    Reported-by: Prarit Bhargava <prarit@redhat.com>
    Cc: Mike Galbraith <bitbucket@online.de>
    Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1305031451561.2886@ionos
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    kernel/time/tick-sched.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/kernel/time/tick-sched.c
    +++ b/kernel/time/tick-sched.c
    @@ -811,7 +811,7 @@ void tick_cancel_sched_timer(int cpu)
    hrtimer_cancel(&ts->sched_timer);
    # endif

    - ts->nohz_mode = NOHZ_MODE_INACTIVE;
    + memset(ts, 0, sizeof(*ts));
    }
    #endif




    \
     
     \ /
      Last update: 2013-05-18 00:41    [W:3.867 / U:0.784 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site