]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Nov 2025 01:43:51 +0000 (10:43 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Nov 2025 01:43:51 +0000 (10:43 +0900)
added patches:
arch-back-to-std-gnu89-in-v5.18.patch
tracing-fix-declaration-after-statement-warning.patch
x86-boot-compile-boot-code-with-std-gnu11-too.patch

queue-5.10/arch-back-to-std-gnu89-in-v5.18.patch [new file with mode: 0644]
queue-5.10/series
queue-5.10/tracing-fix-declaration-after-statement-warning.patch [new file with mode: 0644]
queue-5.10/x86-boot-compile-boot-code-with-std-gnu11-too.patch [new file with mode: 0644]

diff --git a/queue-5.10/arch-back-to-std-gnu89-in-v5.18.patch b/queue-5.10/arch-back-to-std-gnu89-in-v5.18.patch
new file mode 100644 (file)
index 0000000..7012ec8
--- /dev/null
@@ -0,0 +1,111 @@
+From matttbe@kernel.org Sat Oct 18 01:54:02 2025
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+Date: Fri, 17 Oct 2025 18:53:26 +0200
+Subject: arch: back to -std=gnu89 in < v5.18
+To: stable@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>,  Sasha Levin <sashal@kernel.org>
+Cc: MPTCP Upstream <mptcp@lists.linux.dev>,  "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,  Nathan Chancellor <nathan@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,  Alexey Dobriyan <adobriyan@gmail.com>, Arnd Bergmann <arnd@arndb.de>
+Message-ID: <20251017-v5-10-gcc-15-v1-2-cdbbfe1a2100@kernel.org>
+
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+
+Recent fixes have been backported to < v5.18 to fix build issues with
+GCC 5.15. They all force -std=gnu11 in the CFLAGS, "because [the kernel]
+requests the gnu11 standard via '-std=' in the main Makefile".
+
+This is true for >= 5.18 versions, but not before. This switch to
+-std=gnu11 has been done in commit e8c07082a810 ("Kbuild: move to
+-std=gnu11").
+
+For a question of uniformity, force -std=gnu89, similar to what is done
+in the main Makefile.
+
+Note: the fixes tags below refers to upstream commits, but this fix is
+only for kernels not having commit e8c07082a810 ("Kbuild: move to
+-std=gnu11").
+
+Fixes: 7cbb015e2d3d ("parisc: fix building with gcc-15")
+Fixes: 3b8b80e99376 ("s390: Add '-std=gnu11' to decompressor and purgatory CFLAGS")
+Fixes: b3bee1e7c3f2 ("x86/boot: Compile boot code with -std=gnu11 too")
+Fixes: ee2ab467bddf ("x86/boot: Use '-std=gnu11' to fix build with GCC 15")
+Fixes: 8ba14d9f490a ("efi: libstub: Use '-std=gnu11' to fix build with GCC 15")
+Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
+Cc: Nathan Chancellor <nathan@kernel.org>
+Cc: Ard Biesheuvel <ardb@kernel.org>
+Cc: Alexey Dobriyan <adobriyan@gmail.com>
+Cc: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/parisc/boot/compressed/Makefile  |    2 +-
+ arch/s390/Makefile                    |    2 +-
+ arch/s390/purgatory/Makefile          |    2 +-
+ arch/x86/Makefile                     |    2 +-
+ arch/x86/boot/compressed/Makefile     |    2 +-
+ drivers/firmware/efi/libstub/Makefile |    2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+--- a/arch/parisc/boot/compressed/Makefile
++++ b/arch/parisc/boot/compressed/Makefile
+@@ -22,7 +22,7 @@ KBUILD_CFLAGS += -fno-PIE -mno-space-reg
+ ifndef CONFIG_64BIT
+ KBUILD_CFLAGS += -mfast-indirect-calls
+ endif
+-KBUILD_CFLAGS += -std=gnu11
++KBUILD_CFLAGS += -std=gnu89
+ OBJECTS += $(obj)/head.o $(obj)/real2.o $(obj)/firmware.o $(obj)/misc.o $(obj)/piggy.o
+--- a/arch/s390/Makefile
++++ b/arch/s390/Makefile
+@@ -23,7 +23,7 @@ endif
+ aflags_dwarf  := -Wa,-gdwarf-2
+ KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__
+ KBUILD_AFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),$(aflags_dwarf))
+-KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2 -std=gnu11
++KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2 -std=gnu89
+ KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY
+ KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float
+ KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables
+--- a/arch/s390/purgatory/Makefile
++++ b/arch/s390/purgatory/Makefile
+@@ -20,7 +20,7 @@ GCOV_PROFILE := n
+ UBSAN_SANITIZE := n
+ KASAN_SANITIZE := n
+-KBUILD_CFLAGS := -std=gnu11 -fno-strict-aliasing -Wall -Wstrict-prototypes
++KBUILD_CFLAGS := -std=gnu89 -fno-strict-aliasing -Wall -Wstrict-prototypes
+ KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare
+ KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding
+ KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common
+--- a/arch/x86/Makefile
++++ b/arch/x86/Makefile
+@@ -31,7 +31,7 @@ endif
+ CODE16GCC_CFLAGS := -m32 -Wa,$(srctree)/arch/x86/boot/code16gcc.h
+ M16_CFLAGS     := $(call cc-option, -m16, $(CODE16GCC_CFLAGS))
+-REALMODE_CFLAGS       := -std=gnu11 $(M16_CFLAGS) -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \
++REALMODE_CFLAGS       := -std=gnu89 $(M16_CFLAGS) -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \
+                  -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \
+                  -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
+                  -mno-mmx -mno-sse $(call cc-option,-fcf-protection=none)
+--- a/arch/x86/boot/compressed/Makefile
++++ b/arch/x86/boot/compressed/Makefile
+@@ -33,7 +33,7 @@ targets := vmlinux vmlinux.bin vmlinux.b
+ # avoid errors with '-march=i386', and future flags may depend on the target to
+ # be valid.
+ KBUILD_CFLAGS := -m$(BITS) -O2 $(CLANG_FLAGS)
+-KBUILD_CFLAGS += -std=gnu11
++KBUILD_CFLAGS += -std=gnu89
+ KBUILD_CFLAGS += -fno-strict-aliasing -fPIE
+ KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
+ cflags-$(CONFIG_X86_32) := -march=i386
+--- a/drivers/firmware/efi/libstub/Makefile
++++ b/drivers/firmware/efi/libstub/Makefile
+@@ -7,7 +7,7 @@
+ #
+ cflags-$(CONFIG_X86_32)               := -march=i386
+ cflags-$(CONFIG_X86_64)               := -mcmodel=small
+-cflags-$(CONFIG_X86)          += -m$(BITS) -D__KERNEL__ -std=gnu11 \
++cflags-$(CONFIG_X86)          += -m$(BITS) -D__KERNEL__ -std=gnu89 \
+                                  -fPIC -fno-strict-aliasing -mno-red-zone \
+                                  -mno-mmx -mno-sse -fshort-wchar \
+                                  -Wno-pointer-sign \
index 3505b1932c06ad567d18d9360aa8eb6f75de9f3c..e0ac784593ffa12d3f7a524a8335c0748d482c0a 100644 (file)
@@ -30,3 +30,6 @@ can-gs_usb-increase-max-interface-to-u8_max.patch
 serial-8250_dw-use-devm_add_action_or_reset.patch
 serial-8250_dw-handle-reset-control-deassert-error.patch
 x86-resctrl-fix-miscount-of-bandwidth-event-when-reactivating-previously-unavailable-rmid.patch
+x86-boot-compile-boot-code-with-std-gnu11-too.patch
+arch-back-to-std-gnu89-in-v5.18.patch
+tracing-fix-declaration-after-statement-warning.patch
diff --git a/queue-5.10/tracing-fix-declaration-after-statement-warning.patch b/queue-5.10/tracing-fix-declaration-after-statement-warning.patch
new file mode 100644 (file)
index 0000000..bbc5f26
--- /dev/null
@@ -0,0 +1,58 @@
+From matttbe@kernel.org Sat Oct 18 01:53:59 2025
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+Date: Fri, 17 Oct 2025 18:53:27 +0200
+Subject: tracing: fix declaration-after-statement warning
+To: stable@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>,  Sasha Levin <sashal@kernel.org>
+Cc: MPTCP Upstream <mptcp@lists.linux.dev>,  "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,  Douglas Raillard <douglas.raillard@arm.com>,  "Masami Hiramatsu (Google)" <mhiramat@kernel.org>,  "Steven Rostedt (Google)" <rostedt@goodmis.org>,  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Message-ID: <20251017-v5-10-gcc-15-v1-3-cdbbfe1a2100@kernel.org>
+
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+
+When building this kernel version this warning is visible:
+
+  kernel/trace/trace_events_synth.c: In function 'synth_event_reg':
+  kernel/trace/trace_events_synth.c:847:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
+    847 |         int ret = trace_event_reg(call, type, data);
+        |         ^~~
+
+This can be easily fixed by declaring 'ret' earlier.
+
+This issue is visible in < v5.18, because -std=gnu89 is used by default,
+see commit e8c07082a810 ("Kbuild: move to -std=gnu11").
+
+Please note that in v5.15.y, the 'Fixes' commit has been modified during
+the backport, not to have this warning. See commit 72848b81b3dd
+("tracing: Ensure module defining synth event cannot be unloaded while
+tracing") from v5.15.y.
+
+Fixes: 21581dd4e7ff ("tracing: Ensure module defining synth event cannot be unloaded while tracing")
+Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
+Cc: Douglas Raillard <douglas.raillard@arm.com>
+Cc: Masami Hiramatsu (Google) <mhiramat@kernel.org>
+Cc: Steven Rostedt (Google) <rostedt@goodmis.org>
+Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ kernel/trace/trace_events_synth.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/kernel/trace/trace_events_synth.c
++++ b/kernel/trace/trace_events_synth.c
+@@ -831,6 +831,7 @@ static int synth_event_reg(struct trace_
+                   enum trace_reg type, void *data)
+ {
+       struct synth_event *event = container_of(call, struct synth_event, call);
++      int ret;
+       switch (type) {
+ #ifdef CONFIG_PERF_EVENTS
+@@ -844,7 +845,7 @@ static int synth_event_reg(struct trace_
+               break;
+       }
+-      int ret = trace_event_reg(call, type, data);
++      ret = trace_event_reg(call, type, data);
+       switch (type) {
+ #ifdef CONFIG_PERF_EVENTS
diff --git a/queue-5.10/x86-boot-compile-boot-code-with-std-gnu11-too.patch b/queue-5.10/x86-boot-compile-boot-code-with-std-gnu11-too.patch
new file mode 100644 (file)
index 0000000..2a3c5c9
--- /dev/null
@@ -0,0 +1,71 @@
+From matttbe@kernel.org Sat Oct 18 01:53:53 2025
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+Date: Fri, 17 Oct 2025 18:53:25 +0200
+Subject: x86/boot: Compile boot code with -std=gnu11 too
+To: stable@vger.kernel.org, Greg Kroah-Hartman <gregkh@linuxfoundation.org>,  Sasha Levin <sashal@kernel.org>
+Cc: MPTCP Upstream <mptcp@lists.linux.dev>,  "Matthieu Baerts (NGI0)" <matttbe@kernel.org>,  Alexey Dobriyan <adobriyan@gmail.com>, Ingo Molnar <mingo@kernel.org>,  "H. Peter Anvin (Intel)" <hpa@zytor.com>,  Nathan Chancellor <nathan@kernel.org>,  Dave Hansen <dave.hansen@linux.intel.com>, Ard Biesheuvel <ardb@kernel.org>
+Message-ID: <20251017-v5-10-gcc-15-v1-1-cdbbfe1a2100@kernel.org>
+
+From: Alexey Dobriyan <adobriyan@gmail.com>
+
+commit b3bee1e7c3f2b1b77182302c7b2131c804175870 upstream.
+
+Use -std=gnu11 for consistency with main kernel code.
+
+It doesn't seem to change anything in vmlinux.
+
+Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Acked-by: H. Peter Anvin (Intel) <hpa@zytor.com>
+Link: https://lore.kernel.org/r/2058761e-12a4-4b2f-9690-3c3c1c9902a5@p183
+[ This kernel version doesn't build with GCC 15:
+
+    In file included from include/uapi/linux/posix_types.h:5,
+                     from include/uapi/linux/types.h:14,
+                     from include/linux/types.h:6,
+                     from arch/x86/realmode/rm/wakeup.h:11,
+                     from arch/x86/realmode/rm/wakemain.c:2:
+    include/linux/stddef.h:11:9: error: cannot use keyword 'false' as enumeration constant
+       11 |         false   = 0,
+          |         ^~~~~
+    include/linux/stddef.h:11:9: note: 'false' is a keyword with '-std=c23' onwards
+    include/linux/types.h:30:33: error: 'bool' cannot be defined via 'typedef'
+       30 | typedef _Bool                   bool;
+          |                                 ^~~~
+    include/linux/types.h:30:33: note: 'bool' is a keyword with '-std=c23' onwards
+    include/linux/types.h:30:1: warning: useless type name in empty declaration
+       30 | typedef _Bool                   bool;
+          | ^~~~~~~
+
+  The fix is similar to commit ee2ab467bddf ("x86/boot: Use '-std=gnu11'
+  to fix build with GCC 15") which has been backported to this kernel.
+
+  Note: In < 5.18 version, -std=gnu89 is used instead of -std=gnu11, see
+  commit e8c07082a810 ("Kbuild: move to -std=gnu11"). I suggest not to
+  modify that in this commit here as all the other similar fixes to
+  support GCC 15 set -std=gnu11. This can be done in a dedicated commit
+  if needed.
+  There was a conflict, because commit 2838307b019d ("x86/build: Remove
+  -m16 workaround for unsupported versions of GCC") is not in this
+  version and change code in the context. -std=gnu11 can still be added
+  at the same place. ]
+Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
+Cc: Nathan Chancellor <nathan@kernel.org>
+Cc: Dave Hansen <dave.hansen@linux.intel.com>
+Cc: Ard Biesheuvel <ardb@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/Makefile |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/x86/Makefile
++++ b/arch/x86/Makefile
+@@ -31,7 +31,7 @@ endif
+ CODE16GCC_CFLAGS := -m32 -Wa,$(srctree)/arch/x86/boot/code16gcc.h
+ M16_CFLAGS     := $(call cc-option, -m16, $(CODE16GCC_CFLAGS))
+-REALMODE_CFLAGS       := $(M16_CFLAGS) -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \
++REALMODE_CFLAGS       := -std=gnu11 $(M16_CFLAGS) -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \
+                  -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \
+                  -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
+                  -mno-mmx -mno-sse $(call cc-option,-fcf-protection=none)