lkml.org 
[lkml]   [2015]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.19 039/101] powerpc: fix memory corruption by pnv_alloc_idle_core_states
    Date
    3.19-stable review patch.  If anyone has any objections, please let me know.

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

    From: Jan Stancek <jstancek@redhat.com>

    commit d52356e7f48e400ca258c6763a232a92fa82ff68 upstream.

    Space allocated for paca is based off nr_cpu_ids,
    but pnv_alloc_idle_core_states() iterates paca with
    cpu_nr_cores()*threads_per_core, which is using NR_CPUS.

    This causes pnv_alloc_idle_core_states() to write over memory,
    which is outside of paca array and may later lead to various panics.

    Fixes: 7cba160ad789 (powernv/cpuidle: Redesign idle states management)
    Signed-off-by: Jan Stancek <jstancek@redhat.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Preet U. Murthy <preeti@linux.vnet.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/powerpc/include/asm/cputhreads.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/powerpc/include/asm/cputhreads.h
    +++ b/arch/powerpc/include/asm/cputhreads.h
    @@ -55,7 +55,7 @@ static inline cpumask_t cpu_thread_mask_

    static inline int cpu_nr_cores(void)
    {
    - return NR_CPUS >> threads_shift;
    + return nr_cpu_ids >> threads_shift;
    }

    static inline cpumask_t cpu_online_cores_map(void)



    \
     
     \ /
      Last update: 2015-04-17 16:01    [W:4.265 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site