+++ /dev/null
-From 6b2d3c6518ab3c1a03b9a43627743a0c9641645b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 17 Dec 2022 12:44:35 +0800
-Subject: rust: arch/um: Disable FP/SIMD instruction to match x86
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: David Gow <davidgow@google.com>
-
-[ Upstream commit 8849818679478933dd1d9718741f4daa3f4e8b86 ]
-
-The kernel disables all SSE and similar FP/SIMD instructions on
-x86-based architectures (partly because we shouldn't be using floats in
-the kernel, and partly to avoid the need for stack alignment, see:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 )
-
-UML does not do the same thing, which isn't in itself a problem, but
-does add to the list of differences between UML and "normal" x86 builds.
-
-In addition, there was a crash bug with LLVM < 15 / rustc < 1.65 when
-building with SSE, so disabling it fixes rust builds with earlier
-compiler versions, see:
-https://github.com/Rust-for-Linux/linux/pull/881
-
-Signed-off-by: David Gow <davidgow@google.com>
-Reviewed-by: Sergio González Collado <sergio.collado@gmail.com>
-Signed-off-by: Richard Weinberger <richard@nod.at>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/Makefile.um | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
-index 45af19921ebd2..baaf6852bfb8a 100644
---- a/arch/x86/Makefile.um
-+++ b/arch/x86/Makefile.um
-@@ -1,6 +1,12 @@
- # SPDX-License-Identifier: GPL-2.0
- core-y += arch/x86/crypto/
-
-+#
-+# Disable SSE and other FP/SIMD instructions to match normal x86
-+#
-+KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
-+KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2
-+
- ifeq ($(CONFIG_X86_32),y)
- START := 0x8048000
-
---
-2.39.2
-
hwmon-xgene-fix-use-after-free-bug-in-xgene_hwmon_re.patch
media-m5mols-fix-off-by-one-loop-termination-error.patch
mmc-atmel-mci-fix-race-between-stop-command-and-star.patch
-rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch
ext4-fail-ext4_iget-if-special-inode-unallocated.patch
ext4-fix-task-hung-in-ext4_xattr_delete_inode.patch
sh-intc-avoid-spurious-sizeof-pointer-div-warning.patch
+++ /dev/null
-From 4cd7b8184f841ac7054c8842e070fbdafc54d8d4 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 17 Dec 2022 12:44:35 +0800
-Subject: rust: arch/um: Disable FP/SIMD instruction to match x86
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: David Gow <davidgow@google.com>
-
-[ Upstream commit 8849818679478933dd1d9718741f4daa3f4e8b86 ]
-
-The kernel disables all SSE and similar FP/SIMD instructions on
-x86-based architectures (partly because we shouldn't be using floats in
-the kernel, and partly to avoid the need for stack alignment, see:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 )
-
-UML does not do the same thing, which isn't in itself a problem, but
-does add to the list of differences between UML and "normal" x86 builds.
-
-In addition, there was a crash bug with LLVM < 15 / rustc < 1.65 when
-building with SSE, so disabling it fixes rust builds with earlier
-compiler versions, see:
-https://github.com/Rust-for-Linux/linux/pull/881
-
-Signed-off-by: David Gow <davidgow@google.com>
-Reviewed-by: Sergio González Collado <sergio.collado@gmail.com>
-Signed-off-by: Richard Weinberger <richard@nod.at>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/Makefile.um | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
-index 91085a08de6cb..3694beda02c8a 100644
---- a/arch/x86/Makefile.um
-+++ b/arch/x86/Makefile.um
-@@ -1,6 +1,12 @@
- # SPDX-License-Identifier: GPL-2.0
- core-y += arch/x86/crypto/
-
-+#
-+# Disable SSE and other FP/SIMD instructions to match normal x86
-+#
-+KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
-+KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2
-+
- ifeq ($(CONFIG_X86_32),y)
- START := 0x8048000
-
---
-2.39.2
-
media-m5mols-fix-off-by-one-loop-termination-error.patch
mmc-atmel-mci-fix-race-between-stop-command-and-star.patch
jffs2-correct-logic-when-creating-a-hole-in-jffs2_wr.patch
-rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch
ext4-fail-ext4_iget-if-special-inode-unallocated.patch
ext4-fix-task-hung-in-ext4_xattr_delete_inode.patch
drm-amdkfd-fix-an-illegal-memory-access.patch
+++ /dev/null
-From 2b06c19db7d0e30f3efc3e742713cb4df3abb566 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 17 Dec 2022 12:44:35 +0800
-Subject: rust: arch/um: Disable FP/SIMD instruction to match x86
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: David Gow <davidgow@google.com>
-
-[ Upstream commit 8849818679478933dd1d9718741f4daa3f4e8b86 ]
-
-The kernel disables all SSE and similar FP/SIMD instructions on
-x86-based architectures (partly because we shouldn't be using floats in
-the kernel, and partly to avoid the need for stack alignment, see:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 )
-
-UML does not do the same thing, which isn't in itself a problem, but
-does add to the list of differences between UML and "normal" x86 builds.
-
-In addition, there was a crash bug with LLVM < 15 / rustc < 1.65 when
-building with SSE, so disabling it fixes rust builds with earlier
-compiler versions, see:
-https://github.com/Rust-for-Linux/linux/pull/881
-
-Signed-off-by: David Gow <davidgow@google.com>
-Reviewed-by: Sergio González Collado <sergio.collado@gmail.com>
-Signed-off-by: Richard Weinberger <richard@nod.at>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/Makefile.um | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
-index 1db7913795f51..e51c53d10efe7 100644
---- a/arch/x86/Makefile.um
-+++ b/arch/x86/Makefile.um
-@@ -1,6 +1,12 @@
- # SPDX-License-Identifier: GPL-2.0
- core-y += arch/x86/crypto/
-
-+#
-+# Disable SSE and other FP/SIMD instructions to match normal x86
-+#
-+KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
-+KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2
-+
- ifeq ($(CONFIG_X86_32),y)
- START := 0x8048000
-
---
-2.39.2
-
media-m5mols-fix-off-by-one-loop-termination-error.patch
mmc-atmel-mci-fix-race-between-stop-command-and-star.patch
jffs2-correct-logic-when-creating-a-hole-in-jffs2_wr.patch
-rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch
ext4-fail-ext4_iget-if-special-inode-unallocated.patch
ext4-fix-task-hung-in-ext4_xattr_delete_inode.patch
drm-amdkfd-fix-an-illegal-memory-access.patch
+++ /dev/null
-From 374b0cadaef7e9f9db3a4213d976b693127c4923 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 17 Dec 2022 12:44:35 +0800
-Subject: rust: arch/um: Disable FP/SIMD instruction to match x86
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: David Gow <davidgow@google.com>
-
-[ Upstream commit 8849818679478933dd1d9718741f4daa3f4e8b86 ]
-
-The kernel disables all SSE and similar FP/SIMD instructions on
-x86-based architectures (partly because we shouldn't be using floats in
-the kernel, and partly to avoid the need for stack alignment, see:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 )
-
-UML does not do the same thing, which isn't in itself a problem, but
-does add to the list of differences between UML and "normal" x86 builds.
-
-In addition, there was a crash bug with LLVM < 15 / rustc < 1.65 when
-building with SSE, so disabling it fixes rust builds with earlier
-compiler versions, see:
-https://github.com/Rust-for-Linux/linux/pull/881
-
-Signed-off-by: David Gow <davidgow@google.com>
-Reviewed-by: Sergio González Collado <sergio.collado@gmail.com>
-Signed-off-by: Richard Weinberger <richard@nod.at>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/Makefile.um | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
-index b3c1ae084180d..d2e95d1d4db77 100644
---- a/arch/x86/Makefile.um
-+++ b/arch/x86/Makefile.um
-@@ -1,6 +1,12 @@
- # SPDX-License-Identifier: GPL-2.0
- core-y += arch/x86/crypto/
-
-+#
-+# Disable SSE and other FP/SIMD instructions to match normal x86
-+#
-+KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
-+KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2
-+
- ifeq ($(CONFIG_X86_32),y)
- START := 0x8048000
-
---
-2.39.2
-
media-m5mols-fix-off-by-one-loop-termination-error.patch
mmc-atmel-mci-fix-race-between-stop-command-and-star.patch
jffs2-correct-logic-when-creating-a-hole-in-jffs2_wr.patch
-rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch
ext4-fail-ext4_iget-if-special-inode-unallocated.patch
ext4-update-s_journal_inum-if-it-changes-after-journ.patch
ext4-fix-task-hung-in-ext4_xattr_delete_inode.patch
+++ /dev/null
-From 6e27c38c56b4de21adfda9c6b0bcd88f593fd696 Mon Sep 17 00:00:00 2001
-From: Tom Saeger <tom.saeger@oracle.com>
-Date: Fri, 17 Mar 2023 08:25:30 -0600
-Subject: Revert "treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()"
-
-From: Tom Saeger <tom.saeger@oracle.com>
-
-This reverts commit 5de7a4254eb2d501cbb59918a152665b29c02109 which
-caused mips build failures.
-
-kernelci.org bot reports:
-
-arch/mips/lasat/picvue_proc.c:87:20: error: ‘pvc_display_tasklet’ undeclared
-(first use in this function)
-arch/mips/lasat/picvue_proc.c:42:44: error: expected ‘)’ before ‘&’ token
-arch/mips/lasat/picvue_proc.c:33:13: error: ‘pvc_display’ defined but not used
-[-Werror=unused-function]
-
-Link: https://lore.kernel.org/stable/64041dda.170a0220.8cc25.79c9@mx.google.com/
-Reported-by: "kernelci.org bot" <bot@kernelci.org>
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/input/keyboard/omap-keypad.c | 2 +-
- drivers/input/serio/hil_mlc.c | 2 +-
- drivers/net/wan/farsync.c | 4 ++--
- drivers/s390/crypto/ap_bus.c | 2 +-
- drivers/staging/most/dim2/dim2.c | 2 +-
- drivers/staging/octeon/ethernet-tx.c | 2 +-
- drivers/tty/vt/keyboard.c | 2 +-
- drivers/usb/gadget/udc/snps_udc_core.c | 2 +-
- drivers/usb/host/fhci-sched.c | 2 +-
- include/linux/interrupt.h | 15 +++++----------
- kernel/backtracetest.c | 2 +-
- kernel/debug/debug_core.c | 2 +-
- kernel/irq/resend.c | 2 +-
- net/atm/pppoatm.c | 2 +-
- net/iucv/iucv.c | 2 +-
- sound/drivers/pcsp/pcsp_lib.c | 2 +-
- 16 files changed, 21 insertions(+), 26 deletions(-)
-
---- a/drivers/input/keyboard/omap-keypad.c
-+++ b/drivers/input/keyboard/omap-keypad.c
-@@ -46,7 +46,7 @@ struct omap_kp {
- unsigned short keymap[];
- };
-
--static DECLARE_TASKLET_DISABLED_OLD(kp_tasklet, omap_kp_tasklet);
-+static DECLARE_TASKLET_DISABLED(kp_tasklet, omap_kp_tasklet, 0);
-
- static unsigned int *row_gpios;
- static unsigned int *col_gpios;
---- a/drivers/input/serio/hil_mlc.c
-+++ b/drivers/input/serio/hil_mlc.c
-@@ -77,7 +77,7 @@ static struct timer_list hil_mlcs_kicker
- static int hil_mlcs_probe, hil_mlc_stop;
-
- static void hil_mlcs_process(unsigned long unused);
--static DECLARE_TASKLET_DISABLED_OLD(hil_mlcs_tasklet, hil_mlcs_process);
-+static DECLARE_TASKLET_DISABLED(hil_mlcs_tasklet, hil_mlcs_process, 0);
-
-
- /* #define HIL_MLC_DEBUG */
---- a/drivers/net/wan/farsync.c
-+++ b/drivers/net/wan/farsync.c
-@@ -569,8 +569,8 @@ static void do_bottom_half_rx(struct fst
- static void fst_process_tx_work_q(unsigned long work_q);
- static void fst_process_int_work_q(unsigned long work_q);
-
--static DECLARE_TASKLET_OLD(fst_tx_task, fst_process_tx_work_q);
--static DECLARE_TASKLET_OLD(fst_int_task, fst_process_int_work_q);
-+static DECLARE_TASKLET(fst_tx_task, fst_process_tx_work_q, 0);
-+static DECLARE_TASKLET(fst_int_task, fst_process_int_work_q, 0);
-
- static struct fst_card_info *fst_card_array[FST_MAX_CARDS];
- static spinlock_t fst_work_q_lock;
---- a/drivers/s390/crypto/ap_bus.c
-+++ b/drivers/s390/crypto/ap_bus.c
-@@ -91,7 +91,7 @@ static DECLARE_WORK(ap_scan_work, ap_sca
- * Tasklet & timer for AP request polling and interrupts
- */
- static void ap_tasklet_fn(unsigned long);
--static DECLARE_TASKLET_OLD(ap_tasklet, ap_tasklet_fn);
-+static DECLARE_TASKLET(ap_tasklet, ap_tasklet_fn, 0);
- static DECLARE_WAIT_QUEUE_HEAD(ap_poll_wait);
- static struct task_struct *ap_poll_kthread;
- static DEFINE_MUTEX(ap_poll_thread_mutex);
---- a/drivers/staging/most/dim2/dim2.c
-+++ b/drivers/staging/most/dim2/dim2.c
-@@ -47,7 +47,7 @@ MODULE_PARM_DESC(fcnt, "Num of frames pe
- static DEFINE_SPINLOCK(dim_lock);
-
- static void dim2_tasklet_fn(unsigned long data);
--static DECLARE_TASKLET_OLD(dim2_tasklet, dim2_tasklet_fn);
-+static DECLARE_TASKLET(dim2_tasklet, dim2_tasklet_fn, 0);
-
- /**
- * struct hdm_channel - private structure to keep channel specific data
---- a/drivers/staging/octeon/ethernet-tx.c
-+++ b/drivers/staging/octeon/ethernet-tx.c
-@@ -41,7 +41,7 @@
- #endif
-
- static void cvm_oct_tx_do_cleanup(unsigned long arg);
--static DECLARE_TASKLET_OLD(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup);
-+static DECLARE_TASKLET(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup, 0);
-
- /* Maximum number of SKBs to try to free per xmit packet. */
- #define MAX_SKB_TO_FREE (MAX_OUT_QUEUE_DEPTH * 2)
---- a/drivers/tty/vt/keyboard.c
-+++ b/drivers/tty/vt/keyboard.c
-@@ -1241,7 +1241,7 @@ static void kbd_bh(unsigned long dummy)
- }
- }
-
--DECLARE_TASKLET_DISABLED_OLD(keyboard_tasklet, kbd_bh);
-+DECLARE_TASKLET_DISABLED(keyboard_tasklet, kbd_bh, 0);
-
- #if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(CONFIG_ALPHA) ||\
- defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(CONFIG_SPARC) ||\
---- a/drivers/usb/gadget/udc/snps_udc_core.c
-+++ b/drivers/usb/gadget/udc/snps_udc_core.c
-@@ -96,7 +96,7 @@ static int stop_pollstall_timer;
- static DECLARE_COMPLETION(on_pollstall_exit);
-
- /* tasklet for usb disconnect */
--static DECLARE_TASKLET_OLD(disconnect_tasklet, udc_tasklet_disconnect);
-+static DECLARE_TASKLET(disconnect_tasklet, udc_tasklet_disconnect, 0);
-
- /* endpoint names used for print */
- static const char ep0_string[] = "ep0in";
---- a/drivers/usb/host/fhci-sched.c
-+++ b/drivers/usb/host/fhci-sched.c
-@@ -677,7 +677,7 @@ static void process_done_list(unsigned l
- enable_irq(fhci_to_hcd(fhci)->irq);
- }
-
--DECLARE_TASKLET_OLD(fhci_tasklet, process_done_list);
-+DECLARE_TASKLET(fhci_tasklet, process_done_list, 0);
-
- /* transfer complted callback */
- u32 fhci_transfer_confirm_callback(struct fhci_hcd *fhci)
---- a/include/linux/interrupt.h
-+++ b/include/linux/interrupt.h
-@@ -598,17 +598,12 @@ struct tasklet_struct
- unsigned long data;
- };
-
--#define DECLARE_TASKLET_OLD(name, _func) \
--struct tasklet_struct name = { \
-- .count = ATOMIC_INIT(0), \
-- .func = _func, \
--}
-+#define DECLARE_TASKLET(name, func, data) \
-+struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), func, data }
-+
-+#define DECLARE_TASKLET_DISABLED(name, func, data) \
-+struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(1), func, data }
-
--#define DECLARE_TASKLET_DISABLED_OLD(name, _func) \
--struct tasklet_struct name = { \
-- .count = ATOMIC_INIT(1), \
-- .func = _func, \
--}
-
- enum
- {
---- a/kernel/backtracetest.c
-+++ b/kernel/backtracetest.c
-@@ -29,7 +29,7 @@ static void backtrace_test_irq_callback(
- complete(&backtrace_work);
- }
-
--static DECLARE_TASKLET_OLD(backtrace_tasklet, &backtrace_test_irq_callback);
-+static DECLARE_TASKLET(backtrace_tasklet, &backtrace_test_irq_callback, 0);
-
- static void backtrace_test_irq(void)
- {
---- a/kernel/debug/debug_core.c
-+++ b/kernel/debug/debug_core.c
-@@ -1043,7 +1043,7 @@ static void kgdb_tasklet_bpt(unsigned lo
- atomic_set(&kgdb_break_tasklet_var, 0);
- }
-
--static DECLARE_TASKLET_OLD(kgdb_tasklet_breakpoint, kgdb_tasklet_bpt);
-+static DECLARE_TASKLET(kgdb_tasklet_breakpoint, kgdb_tasklet_bpt, 0);
-
- void kgdb_schedule_breakpoint(void)
- {
---- a/kernel/irq/resend.c
-+++ b/kernel/irq/resend.c
-@@ -45,7 +45,7 @@ static void resend_irqs(unsigned long ar
- }
-
- /* Tasklet to handle resend: */
--static DECLARE_TASKLET_OLD(resend_tasklet, resend_irqs);
-+static DECLARE_TASKLET(resend_tasklet, resend_irqs, 0);
-
- #endif
-
---- a/net/atm/pppoatm.c
-+++ b/net/atm/pppoatm.c
-@@ -393,7 +393,7 @@ static int pppoatm_assign_vcc(struct atm
- * Each PPPoATM instance has its own tasklet - this is just a
- * prototypical one used to initialize them
- */
-- static const DECLARE_TASKLET_OLD(tasklet_proto, pppoatm_wakeup_sender);
-+ static const DECLARE_TASKLET(tasklet_proto, pppoatm_wakeup_sender, 0);
- if (copy_from_user(&be, arg, sizeof be))
- return -EFAULT;
- if (be.encaps != PPPOATM_ENCAPS_AUTODETECT &&
---- a/net/iucv/iucv.c
-+++ b/net/iucv/iucv.c
-@@ -128,7 +128,7 @@ static LIST_HEAD(iucv_task_queue);
- * The tasklet for fast delivery of iucv interrupts.
- */
- static void iucv_tasklet_fn(unsigned long);
--static DECLARE_TASKLET_OLD(iucv_tasklet, iucv_tasklet_fn);
-+static DECLARE_TASKLET(iucv_tasklet, iucv_tasklet_fn,0);
-
- /*
- * Queue of interrupt buffers for delivery via a work queue
---- a/sound/drivers/pcsp/pcsp_lib.c
-+++ b/sound/drivers/pcsp/pcsp_lib.c
-@@ -36,7 +36,7 @@ static void pcsp_call_pcm_elapsed(unsign
- }
- }
-
--static DECLARE_TASKLET_OLD(pcsp_pcm_tasklet, pcsp_call_pcm_elapsed);
-+static DECLARE_TASKLET(pcsp_pcm_tasklet, pcsp_call_pcm_elapsed, 0);
-
- /* write the port and returns the next expire time in ns;
- * called at the trigger-start and in hrtimer callback
+++ /dev/null
-From 49d7406beb255097e31733065ad091b3ee0e8de6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 17 Dec 2022 12:44:35 +0800
-Subject: rust: arch/um: Disable FP/SIMD instruction to match x86
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: David Gow <davidgow@google.com>
-
-[ Upstream commit 8849818679478933dd1d9718741f4daa3f4e8b86 ]
-
-The kernel disables all SSE and similar FP/SIMD instructions on
-x86-based architectures (partly because we shouldn't be using floats in
-the kernel, and partly to avoid the need for stack alignment, see:
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 )
-
-UML does not do the same thing, which isn't in itself a problem, but
-does add to the list of differences between UML and "normal" x86 builds.
-
-In addition, there was a crash bug with LLVM < 15 / rustc < 1.65 when
-building with SSE, so disabling it fixes rust builds with earlier
-compiler versions, see:
-https://github.com/Rust-for-Linux/linux/pull/881
-
-Signed-off-by: David Gow <davidgow@google.com>
-Reviewed-by: Sergio González Collado <sergio.collado@gmail.com>
-Signed-off-by: Richard Weinberger <richard@nod.at>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/Makefile.um | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
-index 1db7913795f51..e51c53d10efe7 100644
---- a/arch/x86/Makefile.um
-+++ b/arch/x86/Makefile.um
-@@ -1,6 +1,12 @@
- # SPDX-License-Identifier: GPL-2.0
- core-y += arch/x86/crypto/
-
-+#
-+# Disable SSE and other FP/SIMD instructions to match normal x86
-+#
-+KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
-+KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2
-+
- ifeq ($(CONFIG_X86_32),y)
- START := 0x8048000
-
---
-2.39.2
-
media-m5mols-fix-off-by-one-loop-termination-error.patch
mmc-atmel-mci-fix-race-between-stop-command-and-star.patch
jffs2-correct-logic-when-creating-a-hole-in-jffs2_wr.patch
-rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch
ext4-fail-ext4_iget-if-special-inode-unallocated.patch
ext4-fix-task-hung-in-ext4_xattr_delete_inode.patch
drm-amdkfd-fix-an-illegal-memory-access.patch
ftrace-fix-invalid-address-access-in-lookup_rec-when-index-is-0.patch
fbdev-stifb-provide-valid-pixelclock-and-add-fb_check_var-checks.patch
x86-mm-fix-use-of-uninitialized-buffer-in-sme_enable.patch
-revert-treewide-replace-declare_tasklet-with-declare_tasklet_old.patch
-treewide-replace-declare_tasklet-with-declare_tasklet_old.patch
drm-i915-don-t-use-stolen-memory-for-ring-buffers-with-llc.patch
serial-8250_em-fix-uart-port-type.patch
s390-ipl-add-missing-intersection-check-to-ipl_report-handling.patch
+++ /dev/null
-From a103c82dc3891874259ba32464507463848a4b84 Mon Sep 17 00:00:00 2001
-From: Kees Cook <keescook@chromium.org>
-Date: Mon, 13 Jul 2020 15:01:26 -0700
-Subject: treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()
-
-From: Kees Cook <keescook@chromium.org>
-
-[ Upstream commit b13fecb1c3a603c4b8e99b306fecf4f668c11b32 ]
-
-This converts all the existing DECLARE_TASKLET() (and ...DISABLED)
-macros with DECLARE_TASKLET_OLD() in preparation for refactoring the
-tasklet callback type. All existing DECLARE_TASKLET() users had a "0"
-data argument, it has been removed here as well.
-
-Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Acked-by: Thomas Gleixner <tglx@linutronix.de>
-Signed-off-by: Kees Cook <keescook@chromium.org>
-Stable-dep-of: 1fdeb8b9f29d ("wifi: iwl3945: Add missing check for create_singlethread_workqueue")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
-[Tom: fix backport to 5.4.y]
-
-AUTOSEL backport to 5.4.y of:
-b13fecb1c3a6 ("treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()")
-changed all locations of DECLARE_TASKLET with DECLARE_TASKLET_OLD,
-except one, in arch/mips/lasat/pcivue_proc.c.
-
-This is due to:
-10760dde9be3 ("MIPS: Remove support for LASAT") preceeding
-b13fecb1c3a6 ("treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()")
-upstream and the former not being present in 5.4.y.
-
-Fix this by changing DECLARE_TASKLET to DECLARE_TASKLET_OLD in
-arch/mips/lasat/pcivue_proc.c.
-
-Fixes: 5de7a4254eb2 ("treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()")
-Reported-by: "kernelci.org bot" <bot@kernelci.org>
-Signed-off-by: Tom Saeger <tom.saeger@oracle.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/mips/lasat/picvue_proc.c | 2 +-
- drivers/input/keyboard/omap-keypad.c | 2 +-
- drivers/input/serio/hil_mlc.c | 2 +-
- drivers/net/wan/farsync.c | 4 ++--
- drivers/s390/crypto/ap_bus.c | 2 +-
- drivers/staging/most/dim2/dim2.c | 2 +-
- drivers/staging/octeon/ethernet-tx.c | 2 +-
- drivers/tty/vt/keyboard.c | 2 +-
- drivers/usb/gadget/udc/snps_udc_core.c | 2 +-
- drivers/usb/host/fhci-sched.c | 2 +-
- include/linux/interrupt.h | 15 ++++++++++-----
- kernel/backtracetest.c | 2 +-
- kernel/debug/debug_core.c | 2 +-
- kernel/irq/resend.c | 2 +-
- net/atm/pppoatm.c | 2 +-
- net/iucv/iucv.c | 2 +-
- sound/drivers/pcsp/pcsp_lib.c | 2 +-
- 17 files changed, 27 insertions(+), 22 deletions(-)
-
---- a/arch/mips/lasat/picvue_proc.c
-+++ b/arch/mips/lasat/picvue_proc.c
-@@ -39,7 +39,7 @@ static void pvc_display(unsigned long da
- pvc_write_string(pvc_lines[i], 0, i);
- }
-
--static DECLARE_TASKLET(pvc_display_tasklet, &pvc_display, 0);
-+static DECLARE_TASKLET_OLD(pvc_display_tasklet, &pvc_display, 0);
-
- static int pvc_line_proc_show(struct seq_file *m, void *v)
- {
---- a/drivers/input/keyboard/omap-keypad.c
-+++ b/drivers/input/keyboard/omap-keypad.c
-@@ -46,7 +46,7 @@ struct omap_kp {
- unsigned short keymap[];
- };
-
--static DECLARE_TASKLET_DISABLED(kp_tasklet, omap_kp_tasklet, 0);
-+static DECLARE_TASKLET_DISABLED_OLD(kp_tasklet, omap_kp_tasklet);
-
- static unsigned int *row_gpios;
- static unsigned int *col_gpios;
---- a/drivers/input/serio/hil_mlc.c
-+++ b/drivers/input/serio/hil_mlc.c
-@@ -77,7 +77,7 @@ static struct timer_list hil_mlcs_kicker
- static int hil_mlcs_probe, hil_mlc_stop;
-
- static void hil_mlcs_process(unsigned long unused);
--static DECLARE_TASKLET_DISABLED(hil_mlcs_tasklet, hil_mlcs_process, 0);
-+static DECLARE_TASKLET_DISABLED_OLD(hil_mlcs_tasklet, hil_mlcs_process);
-
-
- /* #define HIL_MLC_DEBUG */
---- a/drivers/net/wan/farsync.c
-+++ b/drivers/net/wan/farsync.c
-@@ -569,8 +569,8 @@ static void do_bottom_half_rx(struct fst
- static void fst_process_tx_work_q(unsigned long work_q);
- static void fst_process_int_work_q(unsigned long work_q);
-
--static DECLARE_TASKLET(fst_tx_task, fst_process_tx_work_q, 0);
--static DECLARE_TASKLET(fst_int_task, fst_process_int_work_q, 0);
-+static DECLARE_TASKLET_OLD(fst_tx_task, fst_process_tx_work_q);
-+static DECLARE_TASKLET_OLD(fst_int_task, fst_process_int_work_q);
-
- static struct fst_card_info *fst_card_array[FST_MAX_CARDS];
- static spinlock_t fst_work_q_lock;
---- a/drivers/s390/crypto/ap_bus.c
-+++ b/drivers/s390/crypto/ap_bus.c
-@@ -91,7 +91,7 @@ static DECLARE_WORK(ap_scan_work, ap_sca
- * Tasklet & timer for AP request polling and interrupts
- */
- static void ap_tasklet_fn(unsigned long);
--static DECLARE_TASKLET(ap_tasklet, ap_tasklet_fn, 0);
-+static DECLARE_TASKLET_OLD(ap_tasklet, ap_tasklet_fn);
- static DECLARE_WAIT_QUEUE_HEAD(ap_poll_wait);
- static struct task_struct *ap_poll_kthread;
- static DEFINE_MUTEX(ap_poll_thread_mutex);
---- a/drivers/staging/most/dim2/dim2.c
-+++ b/drivers/staging/most/dim2/dim2.c
-@@ -47,7 +47,7 @@ MODULE_PARM_DESC(fcnt, "Num of frames pe
- static DEFINE_SPINLOCK(dim_lock);
-
- static void dim2_tasklet_fn(unsigned long data);
--static DECLARE_TASKLET(dim2_tasklet, dim2_tasklet_fn, 0);
-+static DECLARE_TASKLET_OLD(dim2_tasklet, dim2_tasklet_fn);
-
- /**
- * struct hdm_channel - private structure to keep channel specific data
---- a/drivers/staging/octeon/ethernet-tx.c
-+++ b/drivers/staging/octeon/ethernet-tx.c
-@@ -41,7 +41,7 @@
- #endif
-
- static void cvm_oct_tx_do_cleanup(unsigned long arg);
--static DECLARE_TASKLET(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup, 0);
-+static DECLARE_TASKLET_OLD(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup);
-
- /* Maximum number of SKBs to try to free per xmit packet. */
- #define MAX_SKB_TO_FREE (MAX_OUT_QUEUE_DEPTH * 2)
---- a/drivers/tty/vt/keyboard.c
-+++ b/drivers/tty/vt/keyboard.c
-@@ -1241,7 +1241,7 @@ static void kbd_bh(unsigned long dummy)
- }
- }
-
--DECLARE_TASKLET_DISABLED(keyboard_tasklet, kbd_bh, 0);
-+DECLARE_TASKLET_DISABLED_OLD(keyboard_tasklet, kbd_bh);
-
- #if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(CONFIG_ALPHA) ||\
- defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(CONFIG_SPARC) ||\
---- a/drivers/usb/gadget/udc/snps_udc_core.c
-+++ b/drivers/usb/gadget/udc/snps_udc_core.c
-@@ -96,7 +96,7 @@ static int stop_pollstall_timer;
- static DECLARE_COMPLETION(on_pollstall_exit);
-
- /* tasklet for usb disconnect */
--static DECLARE_TASKLET(disconnect_tasklet, udc_tasklet_disconnect, 0);
-+static DECLARE_TASKLET_OLD(disconnect_tasklet, udc_tasklet_disconnect);
-
- /* endpoint names used for print */
- static const char ep0_string[] = "ep0in";
---- a/drivers/usb/host/fhci-sched.c
-+++ b/drivers/usb/host/fhci-sched.c
-@@ -677,7 +677,7 @@ static void process_done_list(unsigned l
- enable_irq(fhci_to_hcd(fhci)->irq);
- }
-
--DECLARE_TASKLET(fhci_tasklet, process_done_list, 0);
-+DECLARE_TASKLET_OLD(fhci_tasklet, process_done_list);
-
- /* transfer complted callback */
- u32 fhci_transfer_confirm_callback(struct fhci_hcd *fhci)
---- a/include/linux/interrupt.h
-+++ b/include/linux/interrupt.h
-@@ -598,12 +598,17 @@ struct tasklet_struct
- unsigned long data;
- };
-
--#define DECLARE_TASKLET(name, func, data) \
--struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), func, data }
--
--#define DECLARE_TASKLET_DISABLED(name, func, data) \
--struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(1), func, data }
-+#define DECLARE_TASKLET_OLD(name, _func) \
-+struct tasklet_struct name = { \
-+ .count = ATOMIC_INIT(0), \
-+ .func = _func, \
-+}
-
-+#define DECLARE_TASKLET_DISABLED_OLD(name, _func) \
-+struct tasklet_struct name = { \
-+ .count = ATOMIC_INIT(1), \
-+ .func = _func, \
-+}
-
- enum
- {
---- a/kernel/backtracetest.c
-+++ b/kernel/backtracetest.c
-@@ -29,7 +29,7 @@ static void backtrace_test_irq_callback(
- complete(&backtrace_work);
- }
-
--static DECLARE_TASKLET(backtrace_tasklet, &backtrace_test_irq_callback, 0);
-+static DECLARE_TASKLET_OLD(backtrace_tasklet, &backtrace_test_irq_callback);
-
- static void backtrace_test_irq(void)
- {
---- a/kernel/debug/debug_core.c
-+++ b/kernel/debug/debug_core.c
-@@ -1043,7 +1043,7 @@ static void kgdb_tasklet_bpt(unsigned lo
- atomic_set(&kgdb_break_tasklet_var, 0);
- }
-
--static DECLARE_TASKLET(kgdb_tasklet_breakpoint, kgdb_tasklet_bpt, 0);
-+static DECLARE_TASKLET_OLD(kgdb_tasklet_breakpoint, kgdb_tasklet_bpt);
-
- void kgdb_schedule_breakpoint(void)
- {
---- a/kernel/irq/resend.c
-+++ b/kernel/irq/resend.c
-@@ -45,7 +45,7 @@ static void resend_irqs(unsigned long ar
- }
-
- /* Tasklet to handle resend: */
--static DECLARE_TASKLET(resend_tasklet, resend_irqs, 0);
-+static DECLARE_TASKLET_OLD(resend_tasklet, resend_irqs);
-
- #endif
-
---- a/net/atm/pppoatm.c
-+++ b/net/atm/pppoatm.c
-@@ -393,7 +393,7 @@ static int pppoatm_assign_vcc(struct atm
- * Each PPPoATM instance has its own tasklet - this is just a
- * prototypical one used to initialize them
- */
-- static const DECLARE_TASKLET(tasklet_proto, pppoatm_wakeup_sender, 0);
-+ static const DECLARE_TASKLET_OLD(tasklet_proto, pppoatm_wakeup_sender);
- if (copy_from_user(&be, arg, sizeof be))
- return -EFAULT;
- if (be.encaps != PPPOATM_ENCAPS_AUTODETECT &&
---- a/net/iucv/iucv.c
-+++ b/net/iucv/iucv.c
-@@ -128,7 +128,7 @@ static LIST_HEAD(iucv_task_queue);
- * The tasklet for fast delivery of iucv interrupts.
- */
- static void iucv_tasklet_fn(unsigned long);
--static DECLARE_TASKLET(iucv_tasklet, iucv_tasklet_fn,0);
-+static DECLARE_TASKLET_OLD(iucv_tasklet, iucv_tasklet_fn);
-
- /*
- * Queue of interrupt buffers for delivery via a work queue
---- a/sound/drivers/pcsp/pcsp_lib.c
-+++ b/sound/drivers/pcsp/pcsp_lib.c
-@@ -36,7 +36,7 @@ static void pcsp_call_pcm_elapsed(unsign
- }
- }
-
--static DECLARE_TASKLET(pcsp_pcm_tasklet, pcsp_call_pcm_elapsed, 0);
-+static DECLARE_TASKLET_OLD(pcsp_pcm_tasklet, pcsp_call_pcm_elapsed);
-
- /* write the port and returns the next expire time in ns;
- * called at the trigger-start and in hrtimer callback