]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Jul 2020 06:51:27 +0000 (08:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Jul 2020 06:51:27 +0000 (08:51 +0200)
added patches:
copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch

queue-4.14/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch b/queue-4.14/copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch
new file mode 100644 (file)
index 0000000..8ab2cb9
--- /dev/null
@@ -0,0 +1,47 @@
+From 5714ee50bb4375bd586858ad800b1d9772847452 Mon Sep 17 00:00:00 2001
+From: Kevin Buettner <kevinb@redhat.com>
+Date: Sat, 18 Jul 2020 00:20:03 -0700
+Subject: copy_xstate_to_kernel: Fix typo which caused GDB regression
+
+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
+@@ -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:
index 2963fbadfae07b8f1a1cea99d1520ad8e9c2110d..9b94a1c91366fe0b35931c7df344cce50ab757e7 100644 (file)
@@ -86,3 +86,4 @@ usb-gadget-udc-atmel-fix-uninitialized-read-in-debug.patch
 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
+copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch