From: Greg Kroah-Hartman Date: Mon, 3 Nov 2025 01:43:51 +0000 (+0900) Subject: 5.10-stable patches X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a52a23e1a80ef8aec7c6302729c36e318efef292;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches 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 --- 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 index 0000000000..7012ec8cb7 --- /dev/null +++ b/queue-5.10/arch-back-to-std-gnu89-in-v5.18.patch @@ -0,0 +1,111 @@ +From matttbe@kernel.org Sat Oct 18 01:54:02 2025 +From: "Matthieu Baerts (NGI0)" +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 , Sasha Levin +Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Nathan Chancellor , Ard Biesheuvel , Alexey Dobriyan , Arnd Bergmann +Message-ID: <20251017-v5-10-gcc-15-v1-2-cdbbfe1a2100@kernel.org> + +From: "Matthieu Baerts (NGI0)" + +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) +Cc: Nathan Chancellor +Cc: Ard Biesheuvel +Cc: Alexey Dobriyan +Cc: Arnd Bergmann +Signed-off-by: Greg Kroah-Hartman +--- + 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 \ diff --git a/queue-5.10/series b/queue-5.10/series index 3505b1932c..e0ac784593 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -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 index 0000000000..bbc5f26e71 --- /dev/null +++ b/queue-5.10/tracing-fix-declaration-after-statement-warning.patch @@ -0,0 +1,58 @@ +From matttbe@kernel.org Sat Oct 18 01:53:59 2025 +From: "Matthieu Baerts (NGI0)" +Date: Fri, 17 Oct 2025 18:53:27 +0200 +Subject: tracing: fix declaration-after-statement warning +To: stable@vger.kernel.org, Greg Kroah-Hartman , Sasha Levin +Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Douglas Raillard , "Masami Hiramatsu (Google)" , "Steven Rostedt (Google)" , Mathieu Desnoyers +Message-ID: <20251017-v5-10-gcc-15-v1-3-cdbbfe1a2100@kernel.org> + +From: "Matthieu Baerts (NGI0)" + +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) +Cc: Douglas Raillard +Cc: Masami Hiramatsu (Google) +Cc: Steven Rostedt (Google) +Cc: Mathieu Desnoyers +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 0000000000..2a3c5c9511 --- /dev/null +++ b/queue-5.10/x86-boot-compile-boot-code-with-std-gnu11-too.patch @@ -0,0 +1,71 @@ +From matttbe@kernel.org Sat Oct 18 01:53:53 2025 +From: "Matthieu Baerts (NGI0)" +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 , Sasha Levin +Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Alexey Dobriyan , Ingo Molnar , "H. Peter Anvin (Intel)" , Nathan Chancellor , Dave Hansen , Ard Biesheuvel +Message-ID: <20251017-v5-10-gcc-15-v1-1-cdbbfe1a2100@kernel.org> + +From: Alexey Dobriyan + +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 +Signed-off-by: Ingo Molnar +Acked-by: H. Peter Anvin (Intel) +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) +Cc: Nathan Chancellor +Cc: Dave Hansen +Cc: Ard Biesheuvel +Signed-off-by: Greg Kroah-Hartman +--- + 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)