From: Greg Kroah-Hartman Date: Mon, 20 Jul 2020 06:51:41 +0000 (+0200) Subject: 4.19-stable patches X-Git-Tag: v4.4.231~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=915bb127fdfac1cdc726b007483eed30a78c62c8;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch --- diff --git a/queue-4.19/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch b/queue-4.19/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch new file mode 100644 index 00000000000..8ab2cb9706f --- /dev/null +++ b/queue-4.19/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch @@ -0,0 +1,47 @@ +From 5714ee50bb4375bd586858ad800b1d9772847452 Mon Sep 17 00:00:00 2001 +From: Kevin Buettner +Date: Sat, 18 Jul 2020 00:20:03 -0700 +Subject: copy_xstate_to_kernel: Fix typo which caused GDB regression + +From: Kevin Buettner + +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 +Fixes: 9e4636545933 ("copy_xstate_to_kernel(): don't leave parts of destination uninitialized") +Cc: Al Viro +Cc: Dave Airlie +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + 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 +@@ -1029,7 +1029,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: diff --git a/queue-4.19/series b/queue-4.19/series index 429c6e9f22c..74b767a47a5 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -66,3 +66,4 @@ staging-comedi-verify-array-index-is-correct-before-.patch revert-thermal-mediatek-fix-register-index-error.patch arm-dts-socfpga-align-l2-cache-controller-nodename-w.patch regmap-debugfs-don-t-sleep-while-atomic-for-fast_io-.patch +copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch