]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Feb 2023 14:38:52 +0000 (15:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Feb 2023 14:38:52 +0000 (15:38 +0100)
added patches:
revert-x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch

queue-4.19/revert-x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/revert-x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch b/queue-4.19/revert-x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch
new file mode 100644 (file)
index 0000000..a98c84b
--- /dev/null
@@ -0,0 +1,49 @@
+From 9d98dfafc22f9651c0d6c4f99c4bab36417e3743 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Fri, 17 Feb 2023 15:34:25 +0100
+Subject: Revert "x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit a00d020f18dbe0666e221d929846f1b591b27c20 which is
+commit 55228db2697c09abddcb9487c3d9fa5854a932cd upstream.
+
+_Alignof is not in the gcc version that the 4.19.y kernel still
+supports (4.6), so this change needs to be reverted as it breaks the
+build on those older compiler versions.
+
+Reported-by: Michael Nies <michael.nies@netclusive.com>
+Link: https://lore.kernel.org/r/HE1PR0902MB188277E37DED663AE440510BE1D99@HE1PR0902MB1882.eurprd09.prod.outlook.com
+Link: https://bugzilla.kernel.org/show_bug.cgi?id=217013
+Cc: YingChi Long <me@inclyc.cn>
+Cc: Borislav Petkov <bp@suse.de>
+Cc: Nick Desaulniers <ndesaulniers@google.com>
+Cc: Nathan Chancellor <nathan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/kernel/fpu/init.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/kernel/fpu/init.c
++++ b/arch/x86/kernel/fpu/init.c
+@@ -138,6 +138,9 @@ static void __init fpu__init_system_gene
+ unsigned int fpu_kernel_xstate_size;
+ EXPORT_SYMBOL_GPL(fpu_kernel_xstate_size);
++/* Get alignment of the TYPE. */
++#define TYPE_ALIGN(TYPE) offsetof(struct { char x; TYPE test; }, test)
++
+ /*
+  * Enforce that 'MEMBER' is the last field of 'TYPE'.
+  *
+@@ -145,8 +148,8 @@ EXPORT_SYMBOL_GPL(fpu_kernel_xstate_size
+  * because that's how C aligns structs.
+  */
+ #define CHECK_MEMBER_AT_END_OF(TYPE, MEMBER) \
+-      BUILD_BUG_ON(sizeof(TYPE) !=         \
+-                   ALIGN(offsetofend(TYPE, MEMBER), _Alignof(TYPE)))
++      BUILD_BUG_ON(sizeof(TYPE) != ALIGN(offsetofend(TYPE, MEMBER), \
++                                         TYPE_ALIGN(TYPE)))
+ /*
+  * We append the 'struct fpu' to the task_struct:
index 73959760cbb90b25869fb4e10a165d8890862743..0d0a37acb0b8216caad024a6ee78070f24f5ab06 100644 (file)
@@ -67,3 +67,4 @@ net-rose-fix-to-not-accept-on-connected-socket.patch
 nvme-fc-fix-a-missing-queue-put-in-nvmet_fc_ls_creat.patch
 aio-fix-mremap-after-fork-null-deref.patch
 netfilter-nft_tproxy-restrict-to-prerouting-hook.patch
+revert-x86-fpu-use-_alignof-to-avoid-undefined-behavior-in-type_align.patch