lkml.org 
[lkml]   [2020]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 117/244] copy_xstate_to_kernel: Fix typo which caused GDB regression
    Date
    From: Kevin Buettner <kevinb@redhat.com>

    commit 5714ee50bb4375bd586858ad800b1d9772847452 upstream.

    This fixes a regression encountered while running the
    gdb.base/corefile.exp test in GDB's test suite.

    In my testing, the typo prevented the sw_reserved field of struct
    fxregs_state from being output to the kernel XSAVES area. Thus the
    correct mask corresponding to XCR0 was not present in the core file for
    GDB to interrogate, resulting in the following behavior:

    [kev@f32-1 gdb]$ ./gdb -q testsuite/outputs/gdb.base/corefile/corefile testsuite/outputs/gdb.base/corefile/corefile.core
    Reading symbols from testsuite/outputs/gdb.base/corefile/corefile...
    [New LWP 232880]

    warning: Unexpected size of section `.reg-xstate/232880' in core file.

    With the typo fixed, the test works again as expected.

    Signed-off-by: Kevin Buettner <kevinb@redhat.com>
    Fixes: 9e4636545933 ("copy_xstate_to_kernel(): don't leave parts of destination uninitialized")
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Dave Airlie <airlied@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/x86/kernel/fpu/xstate.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/x86/kernel/fpu/xstate.c
    +++ b/arch/x86/kernel/fpu/xstate.c
    @@ -1022,7 +1022,7 @@ int copy_xstate_to_kernel(void *kbuf, st
    copy_part(offsetof(struct fxregs_state, st_space), 128,
    &xsave->i387.st_space, &kbuf, &offset_start, &count);
    if (header.xfeatures & XFEATURE_MASK_SSE)
    - copy_part(xstate_offsets[XFEATURE_MASK_SSE], 256,
    + copy_part(xstate_offsets[XFEATURE_SSE], 256,
    &xsave->i387.xmm_space, &kbuf, &offset_start, &count);
    /*
    * Fill xsave->i387.sw_reserved value for ptrace frame:

    \
     
     \ /
      Last update: 2020-07-20 18:20    [W:3.412 / U:0.716 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site