blob: 57c940effa23bd942b60ba46c3b3c297c943bad4 [file] [log] [blame]
From: Baoquan He <bhe@redhat.com>
Subject: x86: kdump: move crash_low_size_default() code into <asm/crash_core.h>
Content-type: text/plain
LKP reported below error with 'W=1' and randconfig.
=========
>> arch/x86/kernel/setup.c:476:15: warning: no previous prototype for function 'crash_low_size_default'
[-Wmissing-prototypes]
unsigned long crash_low_size_default(void)
^
arch/x86/kernel/setup.c:476:1: note: declare 'static' if the function is not intended to be used outside of this
translation unit
unsigned long crash_low_size_default(void)
^
static
1 warning generated.
=========
In that config, CONFIG_KEXEC is not set. So all KEXEC/CRASH related
configs depending on CONFIG_KEXEC are all unset. Then the declaration
in <asm/crash_core.h> won't be seen. Finally the warning is caused.
So move the code of crash_low_size_default() into x86's
<asm/crash_core.h>, and make it static inline to fix the warning.
Link: https://lkml.kernel.org/r/ZQpeAjOmuMJBFw1/@MiWiFi-R3L-srv
Signed-off-by: Baoquan He <bhe@redhat.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202309141534.moH4dTcz-lkp@intel.com/
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/x86/include/asm/crash_core.h | 10 +++++++++-
arch/x86/kernel/setup.c | 12 ------------
2 files changed, 9 insertions(+), 13 deletions(-)
--- a/arch/x86/include/asm/crash_core.h~x86-kdump-use-generic-interface-to-simplify-crashkernel-reservation-code-fix
+++ a/arch/x86/include/asm/crash_core.h
@@ -18,6 +18,7 @@
* no good way to detect the paging mode of the target kernel which will be
* loaded for dumping.
*/
+extern unsigned long swiotlb_size_or_default(void);
#ifdef CONFIG_X86_32
# define CRASH_ADDR_LOW_MAX SZ_512M
@@ -29,6 +30,13 @@
# define DEFAULT_CRASH_KERNEL_LOW_SIZE crash_low_size_default()
-extern unsigned long crash_low_size_default(void);
+static inline unsigned long crash_low_size_default(void)
+{
+#ifdef CONFIG_X86_64
+ return max(swiotlb_size_or_default() + (8UL << 20), 256UL << 20);
+#else
+ return 0;
+#endif
+}
#endif /* _X86_CRASH_CORE_H */
--- a/arch/x86/kernel/setup.c~x86-kdump-use-generic-interface-to-simplify-crashkernel-reservation-code-fix
+++ a/arch/x86/kernel/setup.c
@@ -466,18 +466,6 @@ static void __init memblock_x86_reserve_
}
}
-/*
- * --------- Crashkernel reservation ------------------------------
- */
-unsigned long crash_low_size_default(void)
-{
-#ifdef CONFIG_X86_64
- return max(swiotlb_size_or_default() + (8UL << 20), 256UL << 20);
-#else
- return 0;
-#endif
-}
-
static void __init arch_reserve_crashkernel(void)
{
unsigned long long crash_base, crash_size, low_size = 0;
_