2019-06-24 05:43:49

by Tiezhu Yang

[permalink] [raw]
Subject: [PATCH v2 RESEND] kexec: fix warnig of crash_zero_bytes in crash.c

Fix the following sparse warning:

arch/x86/kernel/crash.c:59:15:
warning: symbol 'crash_zero_bytes' was not declared. Should it be static?

First, make crash_zero_bytes static. In addition, crash_zero_bytes
is used when CONFIG_KEXEC_FILE is set, so make it only available
under CONFIG_KEXEC_FILE. Otherwise, if CONFIG_KEXEC_FILE is not set,
the following warning will appear when make crash_zero_bytes static:

arch/x86/kernel/crash.c:59:22:
warning: ??crash_zero_bytes?? defined but not used [-Wunused-variable]

Fixes: dd5f726076cc ("kexec: support for kexec on panic using new system call")
Signed-off-by: Tiezhu Yang <[email protected]>
Acked-by: Dave Young <[email protected]>
Cc: Vivek Goyal <[email protected]>
Cc: [email protected]
---
arch/x86/kernel/crash.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
index 576b2e1..f13480e 100644
--- a/arch/x86/kernel/crash.c
+++ b/arch/x86/kernel/crash.c
@@ -56,7 +56,9 @@ struct crash_memmap_data {
*/
crash_vmclear_fn __rcu *crash_vmclear_loaded_vmcss = NULL;
EXPORT_SYMBOL_GPL(crash_vmclear_loaded_vmcss);
-unsigned long crash_zero_bytes;
+#ifdef CONFIG_KEXEC_FILE
+static unsigned long crash_zero_bytes;
+#endif

static inline void cpu_crash_vmclear_loaded_vmcss(void)
{
--
1.8.3.1


Subject: [tip:x86/cleanups] x86/kexec: Make variable static and config dependent

Commit-ID: 53b7607382b0b99d6ae1ef5b1b0fa042b00ac7f4
Gitweb: https://git.kernel.org/tip/53b7607382b0b99d6ae1ef5b1b0fa042b00ac7f4
Author: Tiezhu Yang <[email protected]>
AuthorDate: Mon, 24 Jun 2019 12:41:18 +0800
Committer: Thomas Gleixner <[email protected]>
CommitDate: Wed, 26 Jun 2019 16:02:45 +0200

x86/kexec: Make variable static and config dependent

The following sparse warning is emitted:

arch/x86/kernel/crash.c:59:15:
warning: symbol 'crash_zero_bytes' was not declared. Should it be static?

The variable is only used in this compilation unit, but it is also only
used when CONFIG_KEXEC_FILE is enabled. Just making it static would result
in a 'defined but not used' warning for CONFIG_KEXEC_FILE=n.

Make it static and move it into the existing CONFIG_KEXEC_FILE section.

[ tglx: Massaged changelog and moved it into the existing ifdef ]

Fixes: dd5f726076cc ("kexec: support for kexec on panic using new system call")
Signed-off-by: Tiezhu Yang <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: Dave Young <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: Vivek Goyal <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
---
arch/x86/kernel/crash.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
index 576b2e1bfc12..27157d66f807 100644
--- a/arch/x86/kernel/crash.c
+++ b/arch/x86/kernel/crash.c
@@ -56,7 +56,6 @@ struct crash_memmap_data {
*/
crash_vmclear_fn __rcu *crash_vmclear_loaded_vmcss = NULL;
EXPORT_SYMBOL_GPL(crash_vmclear_loaded_vmcss);
-unsigned long crash_zero_bytes;

static inline void cpu_crash_vmclear_loaded_vmcss(void)
{
@@ -181,6 +180,9 @@ void native_machine_crash_shutdown(struct pt_regs *regs)
}

#ifdef CONFIG_KEXEC_FILE
+
+static unsigned long crash_zero_bytes;
+
static int get_nr_ram_ranges_callback(struct resource *res, void *arg)
{
unsigned int *nr_ranges = arg;