FAILED: patch "[PATCH] crash: use macro to add crashk_res into iomem early for" failed to apply to 6.8-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.8-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.8.y
git checkout FETCH_HEAD
git cherry-pick -x 32fbe5246582af4f611ccccee33fd6e559087252
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024033005-graded-dangle-3a21@gregkh' --subject-prefix 'PATCH 6.8.y' HEAD^..
Possible dependencies:
32fbe5246582 ("crash: use macro to add crashk_res into iomem early for specific arch") 85fcde402db1 ("kexec: split crashkernel reservation code out from crash_core.c")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 32fbe5246582af4f611ccccee33fd6e559087252 Mon Sep 17 00:00:00 2001
From: Baoquan He <[email protected]>
Date: Mon, 25 Mar 2024 09:50:50 +0800
Subject: [PATCH] crash: use macro to add crashk_res into iomem early for
specific arch
There are regression reports[1][2] that crashkernel region on x86_64 can't be added into iomem tree sometime. This causes the later failure of kdump loading.
This happened after commit 4a693ce65b18 ("kdump: defer the insertion of crashkernel resources") was merged.
Even though, these reported issues are proved to be related to other component, they are just exposed after above commmit applied, I still would like to keep crashk_res and crashk_low_res being added into iomem early as before because the early adding has been always there on x86_64 and working very well. For safety of kdump, Let's change it back.
Here, add a macro HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY to limit that only ARCH defining the macro can have the early adding crashk_res/_low_res into iomem. Then define HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY on x86 to enable it.
Note: In reserve_crashkernel_low(), there's a remnant of crashk_low_res handling which was mistakenly added back in commit 85fcde402db1 ("kexec:
split crashkernel reservation code out from crash_core.c").
[1]
[PATCH V2] x86/kexec: do not update E820 kexec table for setup_data
https://lore.kernel.org/all/[email protected]/T/#u
[2]
Question about Address Range Validation in Crash Kernel Allocation
https://lore.kernel.org/all/[email protected]/T/#u
arch/x86/include/asm/crash_reserve.h +2 -0
@@ -39,4 +39,6 @@ static inline unsigned long crash_low_size_default(void) #endif } +#define HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY +#endif /* _X86_CRASH_RESERVE_H */
kernel/crash_reserve.c +7 -0
@@ -366,7 +366,9 @@ static int __init reserve_crashkernel_low(unsigned long long low_size) crashk_low_res.start = low_base; crashk_low_res.end = low_base + low_size -1 ; +#ifdef HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY insert_resource (&iomem_resource, &crashk_low_res); +#endif #endif return 0 ; }
@@ -448,8 +450,12 @@ void __init reserve_crashkernel_generic(char *cmdline, crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size -1 ; +#ifdef HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY +insert_resource (&iomem_resource, &crashk_res); +#endif } +#ifndef HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY static __init int insert_crashkernel_resources (void ) {if (crashk_res.start < crashk_res.end)
@@ -462,3 +468,4 @@ static __init int insert_crashkernel_resources(void) }early_initcall (insert_crashkernel_resources);#endif +#endif
Quoted 15 lines · On 03/30/24 at 10:29am, [email protected] wrote:
The patch below does not apply to the 6.8-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.8.y
git checkoutFETCH_HEAD
git cherry-pick -x32fbe5246582af4f611ccccee33fd6e559087252
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024033005-graded-dangle-3a21@gregkh' --subject-prefix 'PATCH 6.8.y' HEAD^..
Quoted 4 lines
Possible dependencies:
32fbe5246582("crash: use macro to addcrashk_resinto iomem early for specific arch")85fcde402db1("kexec: split crashkernel reservation code out fromcrash_core.c")
I back ported it to 6.8 stable tree according to above steps of git operation as below. Please feel free to add it in.
From 04676ac2e7e5c45b54f6b9f78666005aa017fa61 Mon Sep 17 00:00:00 2001
From: Baoquan He <[email protected]>
Date: Mon, 1 Apr 2024 16:35:31 +0800
Subject: [PATCH] crash: use macro to add crashk_res into iomem early for
specific arch
Content-type: text/plain
This is back ported to v6.8 stable tree.
commit 32fbe5246582af4f611ccccee33fd6e559087252
Author: Baoquan He <[email protected]> Date: Mon Mar 25 09:50:50 2024 +0800
crash: use macro to add crashk_res into iomem early for specific arch
There are regression reports[1][2] that crashkernel region on x86_64 can't be added into iomem tree sometime. This causes the later failure of kdump loading.
This happened after commit 4a693ce65b18 ("kdump: defer the insertion of crashkernel resources") was merged.
Even though, these reported issues are proved to be related to other component, they are just exposed after above commmit applied, I still would like to keep crashk_res and crashk_low_res being added into iomem early as before because the early adding has been always there on x86_64 and working very well. For safety of kdump, Let's change it back.
Here, add a macro HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY to limit that only ARCH defining the macro can have the early adding crashk_res/_low_res into iomem. Then define HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY on x86 to enable it.
Note: In reserve_crashkernel_low(), there's a remnant of crashk_low_res handling which was mistakenly added back in commit 85fcde402db1 ("kexec:
split crashkernel reservation code out from crash_core.c").
[1]
[PATCH V2] x86/kexec: do not update E820 kexec table for setup_data
https://lore.kernel.org/all/[email protected]/T/#u
[2]
Question about Address Range Validation in Crash Kernel Allocation
https://lore.kernel.org/all/[email protected]/T/#u
--- arch/x86/include/asm/crash_core.h | 2 ++ kernel/crash_core.c | 8 ++++++++ 2 files changed, 10 insertions(+)
arch/x86/include/asm/crash_core.h +2 -0
@@ -39,4 +39,6 @@ static inline unsigned long crash_low_size_default(void) #endif } +#define HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY +#endif /* _X86_CRASH_CORE_H */
kernel/crash_core.c +8 -0
@@ -376,6 +376,9 @@ static int __init reserve_crashkernel_low(unsigned long long low_size) crashk_low_res.start = low_base; crashk_low_res.end = low_base + low_size -1 ; +#ifdef HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY +insert_resource (&iomem_resource, &crashk_low_res); +#endif #endif return 0 ; }
@@ -457,8 +460,12 @@ void __init reserve_crashkernel_generic(char *cmdline, crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size -1 ; +#ifdef HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY +insert_resource (&iomem_resource, &crashk_res); +#endif } +#ifndef HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY static __init int insert_crashkernel_resources (void ) {if (crashk_res.start < crashk_res.end)
@@ -471,6 +478,7 @@ static __init int insert_crashkernel_resources(void) }early_initcall (insert_crashkernel_resources);#endif +#endif int crash_prepare_elf64_headers (struct crash_mem *mem,int need_kernel_map,void **addr,unsigned long *sz)
Signature · 1 line
2.41.0
Greg KH
maintainerQuoted 16 lines · Baoquan He
Quoted 15 lines · On 03/30/24 at 10:29am, [email protected] wrote:
The patch below does not apply to the 6.8-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.8.y
git checkoutFETCH_HEAD
git cherry-pick -x32fbe5246582af4f611ccccee33fd6e559087252
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024033005-graded-dangle-3a21@gregkh' --subject-prefix 'PATCH 6.8.y' HEAD^..
Quoted 7 lines
Quoted 4 lines
Possible dependencies:
32fbe5246582("crash: use macro to addcrashk_resinto iomem early for specific arch")85fcde402db1("kexec: split crashkernel reservation code out fromcrash_core.c")I back ported it to 6.8 stable tree according to above steps of git operation as below. Please feel free to add it in.
Now queued up, thanks!
greg k-h