From: Greg Kroah-Hartman Date: Tue, 21 Mar 2023 07:44:14 +0000 (+0100) Subject: drop some patches based on review X-Git-Tag: v4.14.311~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4cbd73df66a53ad520a2fb7dbbe21b96ac0eeec8;p=thirdparty%2Fkernel%2Fstable-queue.git drop some patches based on review --- diff --git a/queue-4.14/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch b/queue-4.14/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch deleted file mode 100644 index c3bdbf77200..00000000000 --- a/queue-4.14/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 6b2d3c6518ab3c1a03b9a43627743a0c9641645b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -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 - -[ 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 -Reviewed-by: Sergio González Collado -Signed-off-by: Richard Weinberger -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-4.14/series b/queue-4.14/series index e0e14e9ac67..8e43fdf1461 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -18,7 +18,6 @@ hwmon-adt7475-fix-masking-of-hysteresis-registers.patch 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 diff --git a/queue-4.19/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch b/queue-4.19/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch deleted file mode 100644 index 31ca1e53d1d..00000000000 --- a/queue-4.19/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 4cd7b8184f841ac7054c8842e070fbdafc54d8d4 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -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 - -[ 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 -Reviewed-by: Sergio González Collado -Signed-off-by: Richard Weinberger -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-4.19/series b/queue-4.19/series index b58911ab0e6..4d8799acdf1 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -20,7 +20,6 @@ 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 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 diff --git a/queue-5.10/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch b/queue-5.10/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch deleted file mode 100644 index 2b1995af9ed..00000000000 --- a/queue-5.10/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 2b06c19db7d0e30f3efc3e742713cb4df3abb566 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -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 - -[ 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 -Reviewed-by: Sergio González Collado -Signed-off-by: Richard Weinberger -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-5.10/series b/queue-5.10/series index cec6db7d711..c850a751ba3 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -47,7 +47,6 @@ hwmon-adm1266-set-can_sleep-flag-for-gpio-chip.patch 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 diff --git a/queue-5.15/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch b/queue-5.15/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch deleted file mode 100644 index e48c00064f5..00000000000 --- a/queue-5.15/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 374b0cadaef7e9f9db3a4213d976b693127c4923 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -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 - -[ 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 -Reviewed-by: Sergio González Collado -Signed-off-by: Richard Weinberger -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-5.15/series b/queue-5.15/series index b45c8cd441d..a7d19027eae 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -62,7 +62,6 @@ hwmon-ltc2992-set-can_sleep-flag-for-gpio-chip.patch 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 diff --git a/queue-5.4/revert-treewide-replace-declare_tasklet-with-declare_tasklet_old.patch b/queue-5.4/revert-treewide-replace-declare_tasklet-with-declare_tasklet_old.patch deleted file mode 100644 index 397fa8a4fc0..00000000000 --- a/queue-5.4/revert-treewide-replace-declare_tasklet-with-declare_tasklet_old.patch +++ /dev/null @@ -1,233 +0,0 @@ -From 6e27c38c56b4de21adfda9c6b0bcd88f593fd696 Mon Sep 17 00:00:00 2001 -From: Tom Saeger -Date: Fri, 17 Mar 2023 08:25:30 -0600 -Subject: Revert "treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()" - -From: Tom Saeger - -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" -Signed-off-by: Tom Saeger -Signed-off-by: Greg Kroah-Hartman ---- - 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 diff --git a/queue-5.4/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch b/queue-5.4/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch deleted file mode 100644 index 6907a886cf4..00000000000 --- a/queue-5.4/rust-arch-um-disable-fp-simd-instruction-to-match-x8.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 49d7406beb255097e31733065ad091b3ee0e8de6 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -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 - -[ 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 -Reviewed-by: Sergio González Collado -Signed-off-by: Richard Weinberger -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-5.4/series b/queue-5.4/series index 94e204a35b4..2e44c45514a 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -36,7 +36,6 @@ hwmon-ina3221-return-prober-error-code.patch 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 @@ -50,8 +49,6 @@ kvm-nvmx-add-missing-consistency-checks-for-cr0-and-cr4.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 diff --git a/queue-5.4/treewide-replace-declare_tasklet-with-declare_tasklet_old.patch b/queue-5.4/treewide-replace-declare_tasklet-with-declare_tasklet_old.patch deleted file mode 100644 index dc9a637a190..00000000000 --- a/queue-5.4/treewide-replace-declare_tasklet-with-declare_tasklet_old.patch +++ /dev/null @@ -1,261 +0,0 @@ -From a103c82dc3891874259ba32464507463848a4b84 Mon Sep 17 00:00:00 2001 -From: Kees Cook -Date: Mon, 13 Jul 2020 15:01:26 -0700 -Subject: treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD() - -From: Kees Cook - -[ 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 -Acked-by: Thomas Gleixner -Signed-off-by: Kees Cook -Stable-dep-of: 1fdeb8b9f29d ("wifi: iwl3945: Add missing check for create_singlethread_workqueue") -Signed-off-by: Sasha Levin -[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" -Signed-off-by: Tom Saeger -Signed-off-by: Greg Kroah-Hartman ---- - 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