lkml.org 
[lkml]   [2011]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] [25/139] x86, xsave: Use alloc_bootmem_align() instead of alloc_bootmem()
    Date
    2.6.35-longterm review patch.  If anyone has any objections, please let me know.

    ------------------
    From: Suresh Siddha <suresh.b.siddha@intel.com>

    commit 10340ae130fb70352eae1ae8a00b7906d91bf166 upstream.

    Alignment of alloc_bootmem() depends on the value of
    L1_CACHE_SHIFT. What we need here, however, is 64 byte alignment. Use
    alloc_bootmem_align() and explicitly specify the alignment instead.

    This fixes a kernel boot crash reported by Jody when the cpu in .config
    is set to MPENTIUMII but the kernel is booted on a xsave-capable CPU.

    Reported-by: Jody Bruchon <jody@nctritech.com>
    Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    LKML-Reference: <20101116212442.059967454@sbsiddha-MOBL3.sc.intel.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/x86/kernel/xsave.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    Index: linux-2.6.35.y/arch/x86/kernel/xsave.c
    ===================================================================
    --- linux-2.6.35.y.orig/arch/x86/kernel/xsave.c
    +++ linux-2.6.35.y/arch/x86/kernel/xsave.c
    @@ -305,7 +305,8 @@ void __cpuinit xsave_init(void)
    */
    static void __init setup_xstate_init(void)
    {
    - init_xstate_buf = alloc_bootmem(xstate_size);
    + init_xstate_buf = alloc_bootmem_align(xstate_size,
    + __alignof__(struct xsave_struct));
    init_xstate_buf->i387.mxcsr = MXCSR_DEFAULT;
    }


    \
     
     \ /
      Last update: 2011-02-02 02:11    [W:0.021 / U:239.356 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site